summaryrefslogtreecommitdiff
path: root/odb/traversal
diff options
context:
space:
mode:
Diffstat (limited to 'odb/traversal')
-rw-r--r--odb/traversal/class-template.cxx62
-rw-r--r--odb/traversal/class-template.hxx45
-rw-r--r--odb/traversal/class.cxx34
-rw-r--r--odb/traversal/class.hxx40
-rw-r--r--odb/traversal/derived.cxx111
-rw-r--r--odb/traversal/derived.hxx130
-rw-r--r--odb/traversal/elements.cxx77
-rw-r--r--odb/traversal/elements.hxx238
-rw-r--r--odb/traversal/enum.cxx54
-rw-r--r--odb/traversal/enum.hxx57
-rw-r--r--odb/traversal/fundamental.hxx39
-rw-r--r--odb/traversal/namespace.hxx15
-rw-r--r--odb/traversal/relational.hxx18
-rw-r--r--odb/traversal/relational/changelog.cxx63
-rw-r--r--odb/traversal/relational/changelog.hxx53
-rw-r--r--odb/traversal/relational/changeset.hxx18
-rw-r--r--odb/traversal/relational/column.hxx21
-rw-r--r--odb/traversal/relational/elements.hxx162
-rw-r--r--odb/traversal/relational/foreign-key.hxx21
-rw-r--r--odb/traversal/relational/index.hxx20
-rw-r--r--odb/traversal/relational/key.cxx17
-rw-r--r--odb/traversal/relational/key.hxx50
-rw-r--r--odb/traversal/relational/model.hxx18
-rw-r--r--odb/traversal/relational/primary-key.hxx18
-rw-r--r--odb/traversal/relational/table.hxx21
-rw-r--r--odb/traversal/template.cxx53
-rw-r--r--odb/traversal/template.hxx56
-rw-r--r--odb/traversal/union-template.cxx26
-rw-r--r--odb/traversal/union-template.hxx29
-rw-r--r--odb/traversal/union.hxx15
-rw-r--r--odb/traversal/unit.hxx15
31 files changed, 0 insertions, 1596 deletions
diff --git a/odb/traversal/class-template.cxx b/odb/traversal/class-template.cxx
deleted file mode 100644
index b04b625..0000000
--- a/odb/traversal/class-template.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-// file : odb/traversal/class-template.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/class-template.hxx>
-
-namespace traversal
-{
- //
- //
- void class_template::
- traverse (type& c)
- {
- inherits (c);
- names (c);
- }
-
- void class_template::
- inherits (type& c)
- {
- inherits (c, *this);
- }
-
- void class_template::
- inherits (type& c, edge_dispatcher& d)
- {
- iterate_and_dispatch (c.inherits_begin (), c.inherits_end (), d);
- }
-
- //
- //
- void class_instantiation::
- traverse (type& c)
- {
- instantiates (c);
- inherits (c);
- names (c);
- }
-
- void class_instantiation::
- instantiates (type& c)
- {
- instantiates (c, *this);
- }
-
- void class_instantiation::
- instantiates (type& c, edge_dispatcher& d)
- {
- d.dispatch (c.instantiates ());
- }
-
- void class_instantiation::
- inherits (type& c)
- {
- inherits (c, *this);
- }
-
- void class_instantiation::
- inherits (type& c, edge_dispatcher& d)
- {
- iterate_and_dispatch (c.inherits_begin (), c.inherits_end (), d);
- }
-}
diff --git a/odb/traversal/class-template.hxx b/odb/traversal/class-template.hxx
deleted file mode 100644
index 18e1e5b..0000000
--- a/odb/traversal/class-template.hxx
+++ /dev/null
@@ -1,45 +0,0 @@
-// file : odb/traversal/class-template.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_CLASS_TEMPLATE_HXX
-#define ODB_TRAVERSAL_CLASS_TEMPLATE_HXX
-
-#include <odb/semantics/class-template.hxx>
-
-#include <odb/traversal/elements.hxx>
-#include <odb/traversal/class.hxx>
-
-namespace traversal
-{
- struct class_template: scope_template<semantics::class_template>
- {
- virtual void
- traverse (type&);
-
- virtual void
- inherits (type&);
-
- virtual void
- inherits (type&, edge_dispatcher&);
- };
-
- struct class_instantiation: scope_template<semantics::class_instantiation>
- {
- virtual void
- traverse (type&);
-
- virtual void
- instantiates (type&);
-
- virtual void
- instantiates (type&, edge_dispatcher&);
-
- virtual void
- inherits (type&);
-
- virtual void
- inherits (type&, edge_dispatcher&);
- };
-}
-
-#endif // ODB_TRAVERSAL_CLASS_TEMPLATE_HXX
diff --git a/odb/traversal/class.cxx b/odb/traversal/class.cxx
deleted file mode 100644
index 80c8b80..0000000
--- a/odb/traversal/class.cxx
+++ /dev/null
@@ -1,34 +0,0 @@
-// file : odb/traversal/class.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/class.hxx>
-
-namespace traversal
-{
- void inherits::
- traverse (type& i)
- {
- dispatch (i.base ());
- }
-
- //
- //
- void class_::
- traverse (type& c)
- {
- inherits (c);
- names (c);
- }
-
- void class_::
- inherits (type& c)
- {
- inherits (c, *this);
- }
-
- void class_::
- inherits (type& c, edge_dispatcher& d)
- {
- iterate_and_dispatch (c.inherits_begin (), c.inherits_end (), d);
- }
-}
diff --git a/odb/traversal/class.hxx b/odb/traversal/class.hxx
deleted file mode 100644
index de86cc0..0000000
--- a/odb/traversal/class.hxx
+++ /dev/null
@@ -1,40 +0,0 @@
-// file : odb/traversal/class.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_CLASS_HXX
-#define ODB_TRAVERSAL_CLASS_HXX
-
-#include <odb/semantics/class.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct inherits: edge<semantics::inherits>
- {
- inherits ()
- {
- }
-
- inherits (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct class_: scope_template<semantics::class_>
- {
- virtual void
- traverse (type&);
-
- virtual void
- inherits (type&);
-
- virtual void
- inherits (type&, edge_dispatcher&);
- };
-}
-
-#endif // ODB_TRAVERSAL_CLASS_HXX
diff --git a/odb/traversal/derived.cxx b/odb/traversal/derived.cxx
deleted file mode 100644
index a0acab8..0000000
--- a/odb/traversal/derived.cxx
+++ /dev/null
@@ -1,111 +0,0 @@
-// file : odb/traversal/derived.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/derived.hxx>
-
-namespace traversal
-{
- void qualifies::
- traverse (type& e)
- {
- dispatch (e.type ());
- }
-
- void points::
- traverse (type& e)
- {
- dispatch (e.type ());
- }
-
- void references::
- traverse (type& e)
- {
- dispatch (e.type ());
- }
-
- void contains::
- traverse (type& e)
- {
- dispatch (e.type ());
- }
-
- //
- //
- void qualifier::
- traverse (type& q)
- {
- qualifies (q);
- }
-
- void qualifier::
- qualifies (type& q)
- {
- qualifies (q, *this);
- }
-
- void qualifier::
- qualifies (type& q, edge_dispatcher& d)
- {
- d.dispatch (q.qualifies ());
- }
-
- //
- //
- void pointer::
- traverse (type& p)
- {
- points (p);
- }
-
- void pointer::
- points (type& p)
- {
- points (p, *this);
- }
-
- void pointer::
- points (type& p, edge_dispatcher& d)
- {
- d.dispatch (p.points ());
- }
-
- //
- //
- void reference::
- traverse (type& r)
- {
- references (r);
- }
-
- void reference::
- references (type& r)
- {
- references (r, *this);
- }
-
- void reference::
- references (type& r, edge_dispatcher& d)
- {
- d.dispatch (r.references ());
- }
-
- //
- //
- void array::
- traverse (type& a)
- {
- contains (a);
- }
-
- void array::
- contains (type& a)
- {
- contains (a, *this);
- }
-
- void array::
- contains (type& a, edge_dispatcher& d)
- {
- d.dispatch (a.contains ());
- }
-}
diff --git a/odb/traversal/derived.hxx b/odb/traversal/derived.hxx
deleted file mode 100644
index b7648aa..0000000
--- a/odb/traversal/derived.hxx
+++ /dev/null
@@ -1,130 +0,0 @@
-// file : odb/traversal/derived.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_DERIVED_HXX
-#define ODB_TRAVERSAL_DERIVED_HXX
-
-#include <odb/semantics/derived.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- //
- // Edges.
- //
- struct qualifies: edge<semantics::qualifies>
- {
- qualifies ()
- {
- }
-
- qualifies (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct points: edge<semantics::points>
- {
- points ()
- {
- }
-
- points (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct references: edge<semantics::references>
- {
- references ()
- {
- }
-
- references (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct contains: edge<semantics::contains>
- {
- contains ()
- {
- }
-
- contains (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
-
- //
- // Nodes.
- //
- struct derived_type: node<semantics::derived_type> {};
-
- struct qualifier: node<semantics::qualifier>
- {
- virtual void
- traverse (type&);
-
- virtual void
- qualifies (type&);
-
- virtual void
- qualifies (type&, edge_dispatcher&);
- };
-
- struct pointer: node<semantics::pointer>
- {
- virtual void
- traverse (type&);
-
- virtual void
- points (type&);
-
- virtual void
- points (type&, edge_dispatcher&);
- };
-
- struct reference: node<semantics::reference>
- {
- virtual void
- traverse (type&);
-
- virtual void
- references (type&);
-
- virtual void
- references (type&, edge_dispatcher&);
- };
-
- struct array: node<semantics::array>
- {
- virtual void
- traverse (type&);
-
- virtual void
- contains (type&);
-
- virtual void
- contains (type&, edge_dispatcher&);
- };
-}
-
-#endif // ODB_TRAVERSAL_DERIVED_HXX
diff --git a/odb/traversal/elements.cxx b/odb/traversal/elements.cxx
deleted file mode 100644
index f95917a..0000000
--- a/odb/traversal/elements.cxx
+++ /dev/null
@@ -1,77 +0,0 @@
-// file : odb/traversal/elements.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- void names::
- traverse (type& e)
- {
- dispatch (e.named ());
- }
-
- void declares::
- traverse (type& e)
- {
- dispatch (e.named ());
- }
-
- void defines::
- traverse (type& e)
- {
- dispatch (e.named ());
- }
-
- void typedefs::
- traverse (type& e)
- {
- dispatch (e.named ());
- }
-
- void belongs::
- traverse (type& e)
- {
- dispatch (e.type ());
- }
-
- // instance
- //
- void instance::
- traverse (type& i)
- {
- belongs (i);
- }
-
- void instance::
- belongs (type& i)
- {
- belongs (i, *this);
- }
-
- void instance::
- belongs (type& i, edge_dispatcher& d)
- {
- d.dispatch (i.belongs ());
- }
-
- // data_member
- //
- void data_member::
- traverse (type& m)
- {
- belongs (m);
- }
-
- void data_member::
- belongs (type& m)
- {
- belongs (m, *this);
- }
-
- void data_member::
- belongs (type& m, edge_dispatcher& d)
- {
- d.dispatch (m.belongs ());
- }
-}
diff --git a/odb/traversal/elements.hxx b/odb/traversal/elements.hxx
deleted file mode 100644
index c4236ce..0000000
--- a/odb/traversal/elements.hxx
+++ /dev/null
@@ -1,238 +0,0 @@
-// file : odb/traversal/elements.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_ELEMENTS_HXX
-#define ODB_TRAVERSAL_ELEMENTS_HXX
-
-#include <cutl/compiler/traversal.hxx>
-#include <odb/semantics/elements.hxx>
-
-namespace traversal
-{
- using namespace cutl;
-
- //
- //
- typedef compiler::dispatcher<semantics::node> node_dispatcher;
- typedef compiler::dispatcher<semantics::edge> edge_dispatcher;
-
- //
- //
- struct node_base: node_dispatcher, edge_dispatcher
- {
- void
- edge_traverser (edge_dispatcher& d)
- {
- edge_dispatcher::traverser (d);
- }
-
- edge_dispatcher&
- edge_traverser ()
- {
- return *this;
- }
-
- using node_dispatcher::dispatch;
- using edge_dispatcher::dispatch;
-
- using edge_dispatcher::iterate_and_dispatch;
- };
-
- struct edge_base: edge_dispatcher, node_dispatcher
- {
- void
- node_traverser (node_dispatcher& d)
- {
- node_dispatcher::traverser (d);
- }
-
- node_dispatcher&
- node_traverser ()
- {
- return *this;
- }
-
- using edge_dispatcher::dispatch;
- using node_dispatcher::dispatch;
-
- using node_dispatcher::iterate_and_dispatch;
- };
-
- inline edge_base&
- operator>> (node_base& n, edge_base& e)
- {
- n.edge_traverser (e);
- return e;
- }
-
- inline node_base&
- operator>> (edge_base& e, node_base& n)
- {
- e.node_traverser (n);
- return n;
- }
-
- //
- //
- template <typename X>
- struct node: compiler::traverser_impl<X, semantics::node>,
- virtual node_base
- {
- };
-
- template <typename X>
- struct edge: compiler::traverser_impl<X, semantics::edge>,
- virtual edge_base
- {
- };
-
- //
- // Edges
- //
-
- struct names: edge<semantics::names>
- {
- names ()
- {
- }
-
- names (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct declares: edge<semantics::declares>
- {
- declares ()
- {
- }
-
- declares (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct defines: edge<semantics::defines>
- {
- defines ()
- {
- }
-
- defines (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct typedefs: edge<semantics::typedefs>
- {
- typedefs ()
- {
- }
-
- typedefs (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct belongs: edge<semantics::belongs>
- {
- belongs ()
- {
- }
-
- belongs (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- //
- // Nodes
- //
-
- struct nameable: node<semantics::nameable> {};
-
- //
- //
- template <typename T>
- struct scope_template: node<T>
- {
- public:
- virtual void
- traverse (T& s)
- {
- names (s);
- }
-
- virtual void
- names (T& s)
- {
- names (s, *this);
- }
-
- virtual void
- names (T& s, edge_dispatcher& d)
- {
- this->iterate_and_dispatch (s.names_begin (), s.names_end (), d);
- }
- };
-
- struct scope: scope_template<semantics::scope> {};
-
- //
- //
- struct type: node<semantics::type> {};
-
- //
- //
- struct instance: node<semantics::instance>
- {
- virtual void
- traverse (type&);
-
- virtual void
- belongs (type&);
-
- virtual void
- belongs (type&, edge_dispatcher&);
- };
-
- //
- //
- struct data_member: node<semantics::data_member>
- {
- virtual void
- traverse (type&);
-
- virtual void
- belongs (type&);
-
- virtual void
- belongs (type&, edge_dispatcher&);
- };
-
- //
- //
- struct unsupported_type: node<semantics::unsupported_type> {};
-}
-
-#endif // ODB_TRAVERSAL_ELEMENTS_HXX
diff --git a/odb/traversal/enum.cxx b/odb/traversal/enum.cxx
deleted file mode 100644
index fa33f92..0000000
--- a/odb/traversal/enum.cxx
+++ /dev/null
@@ -1,54 +0,0 @@
-// file : odb/traversal/enum.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/enum.hxx>
-
-namespace traversal
-{
- void enumerates::
- traverse (type& e)
- {
- dispatch (e.enumerator ());
- }
-
- //
- //
- void underlies::
- traverse (type& u)
- {
- dispatch (u.type ());
- }
-
- //
- //
- void enum_::
- traverse (type& e)
- {
- underlied (e);
- enumerates (e);
- }
-
- void enum_::
- underlied (type& e)
- {
- underlied (e, *this);
- }
-
- void enum_::
- underlied (type& e, edge_dispatcher& d)
- {
- d.dispatch (e.underlied ());
- }
-
- void enum_::
- enumerates (type& e)
- {
- enumerates (e, *this);
- }
-
- void enum_::
- enumerates (type& e, edge_dispatcher& d)
- {
- iterate_and_dispatch (e.enumerates_begin (), e.enumerates_end (), d);
- }
-}
diff --git a/odb/traversal/enum.hxx b/odb/traversal/enum.hxx
deleted file mode 100644
index cd141f2..0000000
--- a/odb/traversal/enum.hxx
+++ /dev/null
@@ -1,57 +0,0 @@
-// file : odb/traversal/enum.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_ENUM_HXX
-#define ODB_TRAVERSAL_ENUM_HXX
-
-#include <odb/semantics/enum.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct enumerates: edge<semantics::enumerates>
- {
- enumerates () {}
- enumerates (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct enumerator: node<semantics::enumerator> {};
-
- struct underlies: edge<semantics::underlies>
- {
- underlies () {}
- underlies (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct enum_: node<semantics::enum_>
- {
- virtual void
- traverse (type&);
-
- virtual void
- underlied (type&);
-
- virtual void
- underlied (type&, edge_dispatcher&);
-
- virtual void
- enumerates (type&);
-
- virtual void
- enumerates (type&, edge_dispatcher&);
- };
-}
-
-#endif // ODB_TRAVERSAL_ENUM_HXX
diff --git a/odb/traversal/fundamental.hxx b/odb/traversal/fundamental.hxx
deleted file mode 100644
index 974e74f..0000000
--- a/odb/traversal/fundamental.hxx
+++ /dev/null
@@ -1,39 +0,0 @@
-// file : odb/traversal/fundamental.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_FUNDAMENTAL_HXX
-#define ODB_TRAVERSAL_FUNDAMENTAL_HXX
-
-#include <odb/semantics/fundamental.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct fund_type: node<semantics::fund_type> {};
-
- struct fund_void: node<semantics::fund_void> {};
- struct fund_bool: node<semantics::fund_bool> {};
-
- // Integral.
- //
- struct fund_char: node<semantics::fund_char> {};
- struct fund_wchar: node<semantics::fund_wchar> {};
- struct fund_signed_char: node<semantics::fund_signed_char> {};
- struct fund_unsigned_char: node<semantics::fund_unsigned_char> {};
- struct fund_short: node<semantics::fund_short> {};
- struct fund_unsigned_short: node<semantics::fund_unsigned_short> {};
- struct fund_int: node<semantics::fund_int> {};
- struct fund_unsigned_int: node<semantics::fund_unsigned_int> {};
- struct fund_long: node<semantics::fund_long> {};
- struct fund_unsigned_long: node<semantics::fund_unsigned_long> {};
- struct fund_long_long: node<semantics::fund_long_long> {};
- struct fund_unsigned_long_long: node<semantics::fund_unsigned_long_long> {};
-
- // Real.
- //
- struct fund_float: node<semantics::fund_float> {};
- struct fund_double: node<semantics::fund_double> {};
- struct fund_long_double: node<semantics::fund_long_double> {};
-}
-
-#endif // ODB_TRAVERSAL_FUNDAMENTAL_HXX
diff --git a/odb/traversal/namespace.hxx b/odb/traversal/namespace.hxx
deleted file mode 100644
index 223322b..0000000
--- a/odb/traversal/namespace.hxx
+++ /dev/null
@@ -1,15 +0,0 @@
-// file : odb/traversal/namespace.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_NAMESPACE_HXX
-#define ODB_TRAVERSAL_NAMESPACE_HXX
-
-#include <odb/semantics/namespace.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct namespace_: scope_template<semantics::namespace_> {};
-}
-
-#endif // ODB_TRAVERSAL_NAMESPACE_HXX
diff --git a/odb/traversal/relational.hxx b/odb/traversal/relational.hxx
deleted file mode 100644
index a78e26b..0000000
--- a/odb/traversal/relational.hxx
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : odb/traversal/relational.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_HXX
-#define ODB_TRAVERSAL_RELATIONAL_HXX
-
-#include <odb/traversal/relational/changelog.hxx>
-#include <odb/traversal/relational/changeset.hxx>
-#include <odb/traversal/relational/column.hxx>
-#include <odb/traversal/relational/elements.hxx>
-#include <odb/traversal/relational/foreign-key.hxx>
-#include <odb/traversal/relational/index.hxx>
-#include <odb/traversal/relational/key.hxx>
-#include <odb/traversal/relational/model.hxx>
-#include <odb/traversal/relational/primary-key.hxx>
-#include <odb/traversal/relational/table.hxx>
-
-#endif // ODB_TRAVERSAL_RELATIONAL_HXX
diff --git a/odb/traversal/relational/changelog.cxx b/odb/traversal/relational/changelog.cxx
deleted file mode 100644
index 149d93d..0000000
--- a/odb/traversal/relational/changelog.cxx
+++ /dev/null
@@ -1,63 +0,0 @@
-// file : odb/traversal/relational/changelog.cxx
-// 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);
- }
- }
-}
diff --git a/odb/traversal/relational/changelog.hxx b/odb/traversal/relational/changelog.hxx
deleted file mode 100644
index 4b7f18f..0000000
--- a/odb/traversal/relational/changelog.hxx
+++ /dev/null
@@ -1,53 +0,0 @@
-// file : odb/traversal/relational/changelog.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_CHANGELOG_HXX
-#define ODB_TRAVERSAL_RELATIONAL_CHANGELOG_HXX
-
-#include <odb/semantics/relational/changelog.hxx>
-#include <odb/traversal/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct contains_model: edge<semantics::relational::contains_model>
- {
- contains_model () {}
- contains_model (node_dispatcher& n) {node_traverser (n);}
-
- virtual void
- traverse (type&);
- };
-
- struct contains_changeset: edge<semantics::relational::contains_changeset>
- {
- contains_changeset () {}
- contains_changeset (node_dispatcher& n) {node_traverser (n);}
-
- virtual void
- traverse (type&);
- };
-
- struct changelog: node<semantics::relational::changelog>
- {
- public:
- virtual void
- traverse (type&);
-
- virtual void
- contains_model (type&);
-
- virtual void
- contains_model (type&, edge_dispatcher&);
-
- virtual void
- contains_changeset (type&);
-
- virtual void
- contains_changeset (type&, edge_dispatcher&);
- };
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_CHANGELOG_HXX
diff --git a/odb/traversal/relational/changeset.hxx b/odb/traversal/relational/changeset.hxx
deleted file mode 100644
index 3cc522a..0000000
--- a/odb/traversal/relational/changeset.hxx
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : odb/traversal/relational/changeset.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_CHANGESET_HXX
-#define ODB_TRAVERSAL_RELATIONAL_CHANGESET_HXX
-
-#include <odb/semantics/relational/changeset.hxx>
-#include <odb/traversal/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct changeset: scope_template<semantics::relational::changeset> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_CHANGESET_HXX
diff --git a/odb/traversal/relational/column.hxx b/odb/traversal/relational/column.hxx
deleted file mode 100644
index b9c586d..0000000
--- a/odb/traversal/relational/column.hxx
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : odb/traversal/relational/column.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_COLUMN_HXX
-#define ODB_TRAVERSAL_RELATIONAL_COLUMN_HXX
-
-#include <odb/semantics/relational/column.hxx>
-#include <odb/traversal/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct column: node<semantics::relational::column> {};
- struct add_column: node<semantics::relational::add_column> {};
- struct drop_column: node<semantics::relational::drop_column> {};
- struct alter_column: node<semantics::relational::alter_column> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_COLUMN_HXX
diff --git a/odb/traversal/relational/elements.hxx b/odb/traversal/relational/elements.hxx
deleted file mode 100644
index 9ecdc6a..0000000
--- a/odb/traversal/relational/elements.hxx
+++ /dev/null
@@ -1,162 +0,0 @@
-// file : odb/traversal/relational/elements.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_ELEMENTS_HXX
-#define ODB_TRAVERSAL_RELATIONAL_ELEMENTS_HXX
-
-#include <cutl/compiler/traversal.hxx>
-#include <odb/semantics/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- using namespace cutl;
-
- //
- //
- typedef compiler::dispatcher<semantics::relational::node> node_dispatcher;
- typedef compiler::dispatcher<semantics::relational::edge> edge_dispatcher;
-
- //
- //
- struct node_base: node_dispatcher, edge_dispatcher
- {
- void
- edge_traverser (edge_dispatcher& d)
- {
- edge_dispatcher::traverser (d);
- }
-
- edge_dispatcher&
- edge_traverser ()
- {
- return *this;
- }
-
- using node_dispatcher::dispatch;
- using edge_dispatcher::dispatch;
-
- using edge_dispatcher::iterate_and_dispatch;
- };
-
- struct edge_base: edge_dispatcher, node_dispatcher
- {
- void
- node_traverser (node_dispatcher& d)
- {
- node_dispatcher::traverser (d);
- }
-
- node_dispatcher&
- node_traverser ()
- {
- return *this;
- }
-
- using edge_dispatcher::dispatch;
- using node_dispatcher::dispatch;
-
- using node_dispatcher::iterate_and_dispatch;
- };
-
- inline edge_base&
- operator>> (node_base& n, edge_base& e)
- {
- n.edge_traverser (e);
- return e;
- }
-
- inline node_base&
- operator>> (edge_base& e, node_base& n)
- {
- e.node_traverser (n);
- return n;
- }
-
- //
- //
- template <typename X>
- struct node: compiler::traverser_impl<X, semantics::relational::node>,
- virtual node_base
- {
- virtual void
- traverse (X&) {}
- };
-
- template <typename X>
- struct edge: compiler::traverser_impl<X, semantics::relational::edge>,
- virtual edge_base
- {
- };
-
- //
- // Edges
- //
-
- template <typename N>
- struct names: edge<semantics::relational::names<N> >
- {
- names ()
- {
- }
-
- names (node_dispatcher& n)
- {
- this->node_traverser (n);
- }
-
- virtual void
- traverse (semantics::relational::names<N>& e)
- {
- this->dispatch (e.nameable ());
- }
- };
-
- typedef names<semantics::relational::uname> unames;
- typedef names<semantics::relational::qname> qnames;
-
- //
- // Nodes
- //
-
- template <typename N>
- struct nameable: node<semantics::relational::nameable<N> > {};
-
- typedef nameable<semantics::relational::uname> unameable;
- typedef nameable<semantics::relational::qname> qnameable;
-
- //
- //
- template <typename T>
- struct scope_template: node<T>
- {
- public:
- virtual void
- traverse (T& s)
- {
- names (s);
- }
-
- virtual void
- names (T& s)
- {
- names (s, *this);
- }
-
- virtual void
- names (T& s, edge_dispatcher& d)
- {
- this->iterate_and_dispatch (s.names_begin (), s.names_end (), d);
- }
- };
-
- template <typename N>
- struct scope: scope_template<semantics::relational::scope<N> > {};
-
- typedef scope<semantics::relational::uname> uscope;
- typedef scope<semantics::relational::qname> qscope;
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_ELEMENTS_HXX
diff --git a/odb/traversal/relational/foreign-key.hxx b/odb/traversal/relational/foreign-key.hxx
deleted file mode 100644
index b8ccba3..0000000
--- a/odb/traversal/relational/foreign-key.hxx
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : odb/traversal/relational/foreign-key.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_FOREIGN_KEY_HXX
-#define ODB_TRAVERSAL_RELATIONAL_FOREIGN_KEY_HXX
-
-#include <odb/semantics/relational/foreign-key.hxx>
-#include <odb/traversal/relational/key.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct foreign_key: key_template<semantics::relational::foreign_key> {};
- struct add_foreign_key:
- key_template<semantics::relational::add_foreign_key> {};
- struct drop_foreign_key: node<semantics::relational::drop_foreign_key> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_FOREIGN_KEY_HXX
diff --git a/odb/traversal/relational/index.hxx b/odb/traversal/relational/index.hxx
deleted file mode 100644
index 2277fee..0000000
--- a/odb/traversal/relational/index.hxx
+++ /dev/null
@@ -1,20 +0,0 @@
-// file : odb/traversal/relational/index.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_INDEX_HXX
-#define ODB_TRAVERSAL_RELATIONAL_INDEX_HXX
-
-#include <odb/semantics/relational/index.hxx>
-#include <odb/traversal/relational/key.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct index: key_template<semantics::relational::index> {};
- struct add_index: key_template<semantics::relational::add_index> {};
- struct drop_index: node<semantics::relational::drop_index> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_INDEX_HXX
diff --git a/odb/traversal/relational/key.cxx b/odb/traversal/relational/key.cxx
deleted file mode 100644
index 15a131c..0000000
--- a/odb/traversal/relational/key.cxx
+++ /dev/null
@@ -1,17 +0,0 @@
-// file : odb/traversal/relational/key.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/relational/key.hxx>
-#include <odb/traversal/relational/column.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- void contains::
- traverse (type& c)
- {
- dispatch (c.column ());
- }
- }
-}
diff --git a/odb/traversal/relational/key.hxx b/odb/traversal/relational/key.hxx
deleted file mode 100644
index d0ba2d7..0000000
--- a/odb/traversal/relational/key.hxx
+++ /dev/null
@@ -1,50 +0,0 @@
-// file : odb/traversal/relational/key.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_KEY_HXX
-#define ODB_TRAVERSAL_RELATIONAL_KEY_HXX
-
-#include <odb/semantics/relational/key.hxx>
-#include <odb/traversal/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct contains: edge<semantics::relational::contains>
- {
- contains () {}
- contains (node_dispatcher& n) {node_traverser (n);}
-
- virtual void
- traverse (type&);
- };
-
- template <typename T>
- struct key_template: node<T>
- {
- public:
- virtual void
- traverse (T& k)
- {
- contains (k);
- }
-
- virtual void
- contains (T& k)
- {
- contains (k, *this);
- }
-
- virtual void
- contains (T& k, edge_dispatcher& d)
- {
- this->iterate_and_dispatch (k.contains_begin (), k.contains_end (), d);
- }
- };
-
- struct key: key_template<semantics::relational::key> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_KEY_HXX
diff --git a/odb/traversal/relational/model.hxx b/odb/traversal/relational/model.hxx
deleted file mode 100644
index 03d70b1..0000000
--- a/odb/traversal/relational/model.hxx
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : odb/traversal/relational/model.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_MODEL_HXX
-#define ODB_TRAVERSAL_RELATIONAL_MODEL_HXX
-
-#include <odb/semantics/relational/model.hxx>
-#include <odb/traversal/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct model: scope_template<semantics::relational::model> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_MODEL_HXX
diff --git a/odb/traversal/relational/primary-key.hxx b/odb/traversal/relational/primary-key.hxx
deleted file mode 100644
index dcefab6..0000000
--- a/odb/traversal/relational/primary-key.hxx
+++ /dev/null
@@ -1,18 +0,0 @@
-// file : odb/traversal/relational/primary-key.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_PRIMARY_KEY_HXX
-#define ODB_TRAVERSAL_RELATIONAL_PRIMARY_KEY_HXX
-
-#include <odb/semantics/relational/primary-key.hxx>
-#include <odb/traversal/relational/key.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct primary_key: key_template<semantics::relational::primary_key> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_PRIMARY_KEY_HXX
diff --git a/odb/traversal/relational/table.hxx b/odb/traversal/relational/table.hxx
deleted file mode 100644
index d80e37e..0000000
--- a/odb/traversal/relational/table.hxx
+++ /dev/null
@@ -1,21 +0,0 @@
-// file : odb/traversal/relational/table.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_RELATIONAL_TABLE_HXX
-#define ODB_TRAVERSAL_RELATIONAL_TABLE_HXX
-
-#include <odb/semantics/relational/table.hxx>
-#include <odb/traversal/relational/elements.hxx>
-
-namespace traversal
-{
- namespace relational
- {
- struct table: scope_template<semantics::relational::table> {};
- struct add_table: scope_template<semantics::relational::add_table> {};
- struct drop_table: node<semantics::relational::drop_table> {};
- struct alter_table: scope_template<semantics::relational::alter_table> {};
- }
-}
-
-#endif // ODB_TRAVERSAL_RELATIONAL_TABLE_HXX
diff --git a/odb/traversal/template.cxx b/odb/traversal/template.cxx
deleted file mode 100644
index 21a846d..0000000
--- a/odb/traversal/template.cxx
+++ /dev/null
@@ -1,53 +0,0 @@
-// file : odb/traversal/template.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/template.hxx>
-
-namespace traversal
-{
- void instantiates::
- traverse (type& i)
- {
- dispatch (i.template_ ());
- }
-
- //
- //
- void instantiation::
- traverse (type& i)
- {
- instantiates (i);
- }
-
- void instantiation::
- instantiates (type& i)
- {
- instantiates (i, *this);
- }
-
- void instantiation::
- instantiates (type& i, edge_dispatcher& d)
- {
- d.dispatch (i.instantiates ());
- }
-
- //
- //
- void type_instantiation::
- traverse (type& i)
- {
- instantiates (i);
- }
-
- void type_instantiation::
- instantiates (type& i)
- {
- instantiates (i, *this);
- }
-
- void type_instantiation::
- instantiates (type& i, edge_dispatcher& d)
- {
- d.dispatch (i.instantiates ());
- }
-}
diff --git a/odb/traversal/template.hxx b/odb/traversal/template.hxx
deleted file mode 100644
index 28a64d5..0000000
--- a/odb/traversal/template.hxx
+++ /dev/null
@@ -1,56 +0,0 @@
-// file : odb/traversal/template.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_TEMPLATE_HXX
-#define ODB_TRAVERSAL_TEMPLATE_HXX
-
-#include <odb/semantics/template.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct instantiates: edge<semantics::instantiates>
- {
- instantiates ()
- {
- }
-
- instantiates (node_dispatcher& n)
- {
- node_traverser (n);
- }
-
- virtual void
- traverse (type&);
- };
-
- struct template_: node<semantics::template_> {};
-
- struct instantiation: node<semantics::instantiation>
- {
- virtual void
- traverse (type&);
-
- virtual void
- instantiates (type&);
-
- virtual void
- instantiates (type&, edge_dispatcher&);
- };
-
- struct type_template: node<semantics::type_template> {};
-
- struct type_instantiation: node<semantics::type_instantiation>
- {
- virtual void
- traverse (type&);
-
- virtual void
- instantiates (type&);
-
- virtual void
- instantiates (type&, edge_dispatcher&);
- };
-}
-
-#endif // ODB_TRAVERSAL_TEMPLATE_HXX
diff --git a/odb/traversal/union-template.cxx b/odb/traversal/union-template.cxx
deleted file mode 100644
index 9d72fcd..0000000
--- a/odb/traversal/union-template.cxx
+++ /dev/null
@@ -1,26 +0,0 @@
-// file : odb/traversal/union-template.cxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#include <odb/traversal/union-template.hxx>
-
-namespace traversal
-{
- void union_instantiation::
- traverse (type& u)
- {
- instantiates (u);
- names (u);
- }
-
- void union_instantiation::
- instantiates (type& u)
- {
- instantiates (u, *this);
- }
-
- void union_instantiation::
- instantiates (type& u, edge_dispatcher& d)
- {
- d.dispatch (u.instantiates ());
- }
-}
diff --git a/odb/traversal/union-template.hxx b/odb/traversal/union-template.hxx
deleted file mode 100644
index 10d1d49..0000000
--- a/odb/traversal/union-template.hxx
+++ /dev/null
@@ -1,29 +0,0 @@
-// file : odb/traversal/union-template.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_UNION_TEMPLATE_HXX
-#define ODB_TRAVERSAL_UNION_TEMPLATE_HXX
-
-#include <odb/semantics/union-template.hxx>
-
-#include <odb/traversal/elements.hxx>
-#include <odb/traversal/union.hxx>
-
-namespace traversal
-{
- struct union_template: scope_template<semantics::union_template> {};
-
- struct union_instantiation: scope_template<semantics::union_instantiation>
- {
- virtual void
- traverse (type&);
-
- virtual void
- instantiates (type&);
-
- virtual void
- instantiates (type&, edge_dispatcher&);
- };
-}
-
-#endif // ODB_TRAVERSAL_UNION_TEMPLATE_HXX
diff --git a/odb/traversal/union.hxx b/odb/traversal/union.hxx
deleted file mode 100644
index 2d1a7af..0000000
--- a/odb/traversal/union.hxx
+++ /dev/null
@@ -1,15 +0,0 @@
-// file : odb/traversal/union.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_UNION_HXX
-#define ODB_TRAVERSAL_UNION_HXX
-
-#include <odb/semantics/union.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct union_: scope_template<semantics::union_> {};
-}
-
-#endif // ODB_TRAVERSAL_UNION_HXX
diff --git a/odb/traversal/unit.hxx b/odb/traversal/unit.hxx
deleted file mode 100644
index a90418a..0000000
--- a/odb/traversal/unit.hxx
+++ /dev/null
@@ -1,15 +0,0 @@
-// file : odb/traversal/unit.hxx
-// license : GNU GPL v3; see accompanying LICENSE file
-
-#ifndef ODB_TRAVERSAL_UNIT_HXX
-#define ODB_TRAVERSAL_UNIT_HXX
-
-#include <odb/semantics/unit.hxx>
-#include <odb/traversal/elements.hxx>
-
-namespace traversal
-{
- struct unit: scope_template<semantics::unit> {};
-}
-
-#endif // ODB_TRAVERSAL_UNIT_HXX