From b5e0b3822f08ad64d2cdacce15256222759a59e1 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Sun, 21 Dec 2014 12:00:51 +0100 Subject: made Rtti a source dependency of Managed, not a header dependency --- src/core/managed/Managed.hpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/core/managed/Managed.hpp') diff --git a/src/core/managed/Managed.hpp b/src/core/managed/Managed.hpp index 70136d3..6e0242a 100644 --- a/src/core/managed/Managed.hpp +++ b/src/core/managed/Managed.hpp @@ -19,8 +19,6 @@ #ifndef _OUSIA_MANAGED_HPP_ #define _OUSIA_MANAGED_HPP_ -#include - #include "Manager.hpp" namespace ousia { @@ -37,6 +35,8 @@ class Owned; template class DefaultListener; +class RttiBase; + // TODO: Implement clone, getReferenced and getReferencing /** @@ -98,6 +98,8 @@ public: return Owned{t, this}; } + /* Data store methods */ + void storeData(const std::string &key, Handle h); bool hasDataKey(const std::string &key); @@ -108,6 +110,8 @@ public: bool deleteData(const std::string &key); + /* RTTI methods */ + /** * Returns the RttiBase instance registered for instances of the type of * this Managed instance. @@ -115,10 +119,7 @@ public: * @return a reference to the registered RttiBase for this particular * Managed class. */ - const RttiBase &type() const - { - return typeOf(*this); - } + const RttiBase &type() const; /** * Returns true if this Managed instance is of the given RttiBase. @@ -127,7 +128,7 @@ public: * class is of the given type or one of the registered parent types is of * the given type. */ - bool isa(const RttiBase &t) const { return type().isa(t); } + bool isa(const RttiBase &t) const; }; /** -- cgit v1.2.3