summaryrefslogtreecommitdiff
path: root/odb/semantics/relational/elements.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/semantics/relational/elements.hxx')
-rw-r--r--odb/semantics/relational/elements.hxx29
1 files changed, 14 insertions, 15 deletions
diff --git a/odb/semantics/relational/elements.hxx b/odb/semantics/relational/elements.hxx
index 11e7ea8..a0f02a4 100644
--- a/odb/semantics/relational/elements.hxx
+++ b/odb/semantics/relational/elements.hxx
@@ -49,37 +49,28 @@ namespace semantics
class edge: public context
{
public:
- virtual
- ~edge () {}
-
- public:
template <typename X>
bool
is_a () const
{
return dynamic_cast<X const*> (this) != 0;
}
+
+ public:
+ virtual
+ ~edge () {}
};
//
//
class node: public context
{
- public:
- virtual
- ~node () {}
-
// Return name of the node.
//
+ public:
virtual string
kind () const = 0;
- // XML serialization.
- //
- public:
- virtual void
- serialize (xml::serializer&) const = 0;
-
public:
template <typename X>
bool
@@ -88,10 +79,18 @@ namespace semantics
return dynamic_cast<X const*> (this) != 0;
}
+ public:
+ virtual
+ ~node () {}
+
+ // XML serialization.
+ //
+ virtual void
+ serialize (xml::serializer&) const = 0;
+
// Sink functions that allow extensions in the form of one-way
// edges.
//
- public:
void
add_edge_right (edge&) {}