ATLAS Offline Software
|
Helper for symLink_impl. More...
Public Member Functions | |
SymlinkDataObject (CLID clid, void *obj) | |
virtual const CLID & | clID () const override |
virtual void * | object () override |
virtual const std::type_info & | tinfo () const override |
Return the type_info for the stored object. More... | |
virtual void * | cast (CLID, SG::IRegisterTransient *, bool) override |
Return the contents of the DataBucket , converted to type given by clid. More... | |
virtual void * | cast (const std::type_info &, SG::IRegisterTransient *, bool) override |
Return the contents of the DataBucket , converted to type given by std::type_info. More... | |
virtual void | relinquish () override |
Give up ownership of the DataBucket contents. More... | |
virtual void | lock () override |
If the held object derives from ILockable , call lock() on it. More... | |
template<class T > | |
T * | cast (SG::IRegisterTransient *irt=0, bool isConst=true) |
Return the contents of the DataBucket , converted to type T. More... | |
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. More... | |
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. More... | |
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. More... | |
template<class T > | |
T * | cast (SG::IRegisterTransient *irt=0, bool isConst=true) |
Return the contents of the DataBucket , converted to type T. More... | |
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. More... | |
Private Attributes | |
CLID | m_clid |
void * | m_obj |
Helper for symLink_impl.
A simple DataBucket
that holds an arbitrary pointer/clid. We stub out everything else that we don't use.
Definition at line 87 of file StoreGate/src/VarHandleBase.cxx.
|
inline |
Definition at line 91 of file StoreGate/src/VarHandleBase.cxx.
|
virtualinherited |
Return the contents of the DataBucket
, converted to type given by clid.
Note that only derived->base conversions are allowed here.
clid | The class ID to which to convert. |
tinfo | The std::type_info of the type to which to convert. |
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
This allows the callee to choose whether to use clid or tinfo. By default, this uses type_info.
Reimplemented in xAODPrivate::THolderBucket, SG::DVLDataBucket< T >, SG::DVLDataBucket< DV >, SG::DataBucket< T >, SG::DataBucket< DV >, and SG::MetaContDataBucket< T >.
virtual void* DataBucketBase::cast |
Return the contents of the DataBucket
, converted to type given by clid.
Note that only derived->base conversions are allowed here.
clid | The class ID to which to convert. |
tinfo | The std::type_info of the type to which to convert. |
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
This allows the callee to choose whether to use clid or tinfo. By default, this uses type_info.
virtual void* DataBucketBase::cast |
Return the contents of the DataBucket
, converted to type given by clid.
Note that only derived->base conversions are allowed here.
clid | The class ID to which to convert. |
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
|
inlineoverridevirtual |
Return the contents of the DataBucket
, converted to type given by clid.
Note that only derived->base conversions are allowed here.
clid | The class ID to which to convert. |
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
Implements DataBucketBase.
Definition at line 96 of file StoreGate/src/VarHandleBase.cxx.
|
inlineoverridevirtual |
Return the contents of the DataBucket
, converted to type given by std::type_info.
Note that only derived->base conversions are allowed here.
tinfo | The std::type_info of the type to which to convert. |
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
Implements DataBucketBase.
Definition at line 97 of file StoreGate/src/VarHandleBase.cxx.
virtual void* DataBucketBase::cast |
Return the contents of the DataBucket
, converted to type given by std::type_info.
Note that only derived->base conversions are allowed here.
tinfo | The std::type_info of the type to which to convert. |
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
|
inherited |
Return the contents of the DataBucket
, converted to type T.
Note that only derived->base conversions are allowed here. T must have a valid Class ID for this to work.
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
T* DataBucketBase::cast | ( | class T | ) |
Return the contents of the DataBucket
, converted to type T.
Note that only derived->base conversions are allowed here. T must have a valid Class ID for this to work.
irt | To be called if we make a new instance. |
isConst | True if the object being converted is regarded as const. |
Definition at line 92 of file StoreGate/src/VarHandleBase.cxx.
|
inlineoverridevirtual |
If the held object derives from ILockable
, call lock()
on it.
Implements DataBucketBase.
Definition at line 99 of file StoreGate/src/VarHandleBase.cxx.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Give up ownership of the DataBucket
contents.
This leaks the contents and it is useful mainly for error handling.
Implements DataBucketBase.
Definition at line 98 of file StoreGate/src/VarHandleBase.cxx.
|
inlineoverridevirtual |
Return the type_info
for the stored object.
Implements DataBucketBase.
Definition at line 94 of file StoreGate/src/VarHandleBase.cxx.
|
private |
Definition at line 103 of file StoreGate/src/VarHandleBase.cxx.
|
private |
Definition at line 104 of file StoreGate/src/VarHandleBase.cxx.