diff options
Diffstat (limited to 'odb/semantics/relational/elements.hxx')
-rw-r--r-- | odb/semantics/relational/elements.hxx | 29 |
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&) {} |