1 #ifndef DataFormats_Common_RefHolderBase_h
2 #define DataFormats_Common_RefHolderBase_h
16 class RefVectorHolderBase;
21 template <
class T>
T const*
getPtr()
const;
26 virtual size_t key()
const = 0;
44 virtual void const *
product()
const = 0;
virtual void const * pointerToType(TypeWithDict const &toType) const =0
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 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