summaryrefslogtreecommitdiff
path: root/odb/semantics
diff options
context:
space:
mode:
Diffstat (limited to 'odb/semantics')
-rw-r--r--odb/semantics/elements.hxx22
1 files changed, 12 insertions, 10 deletions
diff --git a/odb/semantics/elements.hxx b/odb/semantics/elements.hxx
index b52acc3..d0156dd 100644
--- a/odb/semantics/elements.hxx
+++ b/odb/semantics/elements.hxx
@@ -114,11 +114,12 @@ namespace semantics
public:
template <typename X>
- bool
- is_a () const
- {
- return dynamic_cast<X const*> (this) != 0;
- }
+ X*
+ is_a () {return dynamic_cast<X*> (this);}
+
+ template <typename X>
+ const X*
+ is_a () const {return dynamic_cast<const X*> (this);}
};
//
@@ -165,11 +166,12 @@ namespace semantics
public:
template <typename X>
- bool
- is_a () const
- {
- return dynamic_cast<X const*> (this) != 0;
- }
+ X*
+ is_a () {return dynamic_cast<X*> (this);}
+
+ template <typename X>
+ const X*
+ is_a () const {return dynamic_cast<const X*> (this);}
public:
node (path const& file, size_t line, size_t column, tree);