1 #ifndef DataFormats_Common_RefHolderBase_h
2 #define DataFormats_Common_RefHolderBase_h
7 #include "Reflex/Type.h"
16 class RefVectorHolderBase;
21 template <
class T>
T const*
getPtr()
const;
26 virtual size_t key()
const = 0;
39 std::string&
msg)
const = 0;
44 virtual void const *
product()
const = 0;
70 static Reflex::Type s_type(Reflex::Type::ByTypeInfo(
typeid(
T)));
virtual bool hasProductCache() const =0
virtual std::auto_ptr< RefVectorHolderBase > makeVectorHolder() const =0
virtual size_t key() const =0
virtual bool isAvailable() const =0
virtual void const * pointerToType(Reflex::Type const &toType) const =0
virtual ProductID id() const =0
virtual EDProductGetter const * productGetter() const =0
virtual bool fillRefIfMyTypeMatches(RefHolderBase &ref, std::string &msg) const =0
virtual RefHolderBase * clone() const =0
virtual bool isEqualTo(RefHolderBase const &rhs) const =0
virtual void const * product() const =0