![]() |
ATLAS Offline Software
|
Allows to insert void* returned from serialisation into the store. More...
#include <BareDataBucket.h>
Public Member Functions | |
| BareDataBucket ()=delete | |
| BareDataBucket (void *data, CLID clid, RootType type) | |
| virtual | ~BareDataBucket () override |
| BareDataBucket (const BareDataBucket &)=delete | |
| BareDataBucket (BareDataBucket &&)=delete | |
| BareDataBucket & | operator= (const BareDataBucket &)=delete |
| BareDataBucket & | operator= (BareDataBucket &&)=delete |
| 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. | |
| virtual void * | cast (CLID clid, SG::IRegisterTransient *, bool isConst=true) override |
Return the contents of the DataBucket, converted to type given by clid. | |
| virtual void * | cast (const std::type_info &tinfo, SG::IRegisterTransient *, bool isConst=true) override |
Return the contents of the DataBucket, converted to type given by std::type_info. | |
| virtual void | relinquish () override |
Give up ownership of the DataBucket contents. | |
| virtual void | lock () override |
If the held object derives from ILockable, call lock() on it. | |
| template<class T> | |
| T * | cast (SG::IRegisterTransient *irt=0, bool isConst=true) |
Return the contents of the DataBucket, converted to type T. | |
| 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. | |
Private Attributes | |
| void * | m_data = nullptr |
| CLID | m_clid = 0 |
| RootType | m_type |
Allows to insert void* returned from serialisation into the store.
Definition at line 14 of file BareDataBucket.h.
|
delete |
Definition at line 18 of file BareDataBucket.h.
|
inlineoverridevirtual |
Definition at line 21 of file BareDataBucket.h.
|
delete |
|
delete |
|
virtual |
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 from DataBucketBase.
|
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 47 of file BareDataBucket.h.
|
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 53 of file BareDataBucket.h.
| T * DataBucketBase::cast | ( | SG::IRegisterTransient * | irt = 0, |
| bool | isConst = true ) |
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 32 of file BareDataBucket.h.
|
inlineoverridevirtual |
If the held object derives from ILockable, call lock() on it.
Implements DataBucketBase.
Definition at line 63 of file BareDataBucket.h.
|
inlineoverridevirtual |
Implements DataBucketBase.
Definition at line 38 of file BareDataBucket.h.
|
delete |
|
delete |
|
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 59 of file BareDataBucket.h.
|
inlineoverridevirtual |
Return the type_info for the stored object.
Implements DataBucketBase.
Definition at line 42 of file BareDataBucket.h.
|
private |
Definition at line 67 of file BareDataBucket.h.
|
private |
Definition at line 66 of file BareDataBucket.h.
|
private |
Definition at line 68 of file BareDataBucket.h.