aboutsummaryrefslogtreecommitdiff
path: root/odb/traversal/enum.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/traversal/enum.hxx')
-rw-r--r--odb/traversal/enum.hxx23
1 files changed, 19 insertions, 4 deletions
diff --git a/odb/traversal/enum.hxx b/odb/traversal/enum.hxx
index 1efccaa..c949934 100644
--- a/odb/traversal/enum.hxx
+++ b/odb/traversal/enum.hxx
@@ -12,10 +12,7 @@ namespace traversal
{
struct enumerates: edge<semantics::enumerates>
{
- enumerates ()
- {
- }
-
+ enumerates () {}
enumerates (node_dispatcher& n)
{
node_traverser (n);
@@ -27,12 +24,30 @@ namespace traversal
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