aboutsummaryrefslogtreecommitdiff
path: root/odb/traversal/relational/changelog.cxx
blob: 2586457ff194ae98379c1fcdb7ff493363fcf052 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// file      : odb/traversal/relational/changelog.cxx
// copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
// license   : GNU GPL v3; see accompanying LICENSE file

#include <odb/traversal/relational/changelog.hxx>
#include <odb/traversal/relational/model.hxx>
#include <odb/traversal/relational/changeset.hxx>

namespace traversal
{
  namespace relational
  {
    // contains_model
    //
    void contains_model::
    traverse (type& c)
    {
      dispatch (c.model ());
    }

    // contains_changeset
    //
    void contains_changeset::
    traverse (type& c)
    {
      dispatch (c.changeset ());
    }

    // changelog
    //
    void changelog::
    traverse (type& cl)
    {
      contains_model (cl);
      contains_changeset (cl);
    }

    void changelog::
    contains_model (type& cl)
    {
      contains_model (cl, *this);
    }

    void changelog::
    contains_model (type& cl, edge_dispatcher& d)
    {
      d.dispatch (cl.contains_model ());
    }

    void changelog::
    contains_changeset (type& cl)
    {
      contains_changeset (cl, *this);
    }

    void changelog::
    contains_changeset (type& cl, edge_dispatcher& d)
    {
      iterate_and_dispatch (cl.contains_changeset_begin (),
                            cl.contains_changeset_end (),
                            d);
    }
  }
}