|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHENAKERNEL_DATABUCKETBASE_H
6 #define ATHENAKERNEL_DATABUCKETBASE_H
16 #include "GaudiKernel/DataObject.h"
20 class IRegisterTransient;
35 virtual const std::type_info&
tinfo()
const = 0;
58 bool isConst =
true) = 0;
70 bool isConst =
true) = 0;
85 const std::type_info&
tinfo,
Interface for registering a transient object in t2p map.
virtual void lock()=0
If the held object derives from ILockable, call lock() on it.
A non-templated base class for DataBucket, allows to access the transient object address as a void*.
virtual void * object()=0
virtual void * cast(CLID clid, SG::IRegisterTransient *irt=0, bool isConst=true)=0
Return the contents of the DataBucket, converted to type given by clid.
T * cast(SG::IRegisterTransient *irt=0, bool isConst=true)
Return the contents of the DataBucket, converted to type T.
virtual void * cast(const std::type_info &tinfo, SG::IRegisterTransient *irt=0, bool isConst=true)=0
Return the contents of the DataBucket, converted to type given by std::type_info.
virtual void * cast(CLID clid, const std::type_info &tinfo, SG::IRegisterTransient *irt=0, bool isConst=true)
Return the contents of the DataBucket, converted to type given by clid.
virtual ~DataBucketBase()
uint32_t CLID
The Class ID type.
virtual void relinquish()=0
Give up ownership of the DataBucket contents.
virtual const std::type_info & tinfo() const =0
Return the type_info for the stored object.