![]() |
ATLAS Offline Software
|
DataBucket class for ConstDataVector.
More...
#include <ConstDataVector.h>
Public Member Functions | |
| DVLConstDataVectorBucket (ConstDataVector< DV > *data) | |
| Constructor from a payload object. | |
| DVLConstDataVectorBucket (std::unique_ptr< ConstDataVector< DV > > data) | |
| Constructor from a payload object. | |
| virtual void * | cast (CLID clid, IRegisterTransient *irt=0, bool isConst=true) override |
Return the contents of the DataBucket, converted to type given by clid. | |
| 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 (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 const CLID & | clID () const override |
| The CLID for the class of object we're holding. | |
| virtual const std::type_info & | tinfo () const override |
| The std::type_info for the class of object we're holding. | |
| virtual void * | object () override |
| operator DV * () | |
| operator const DV * () const | |
| 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. | |
Static Public Member Functions | |
| static CLID | classID () |
Protected Member Functions | |
| DV * | ptr () |
| const DV * | cptr () const |
| void * | tryStaticConversion (CLID clid) |
| Try a conversion using static SG_BASES information. | |
Private Types | |
| typedef std::pair< DataModel_detail::DVLInfoBase *, void * > | ent_t |
| typedef std::vector< ent_t > | vec_t |
Private Attributes | |
| vec_t | m_copies |
| const std::type_info * | m_ti |
| The std::type_info for the class of object we're holding. | |
| CLID | m_clid |
| The CLID for the class of object we're holding. | |
| DV * | m_ptr |
| vec_t | m_cnvcopies |
DataBucket class for ConstDataVector.
This is just the same as DVLDataBucket, except that we've got to convert the ConstDataVector to DataVector.
Note: Can be used to violate const-correctness. Don't use this yourself!
Definition at line 955 of file ConstDataVector.h.
|
privateinherited |
Definition at line 150 of file DVLDataBucket.h.
|
privateinherited |
Definition at line 151 of file DVLDataBucket.h.
| SG::DVLConstDataVectorBucket< DV >::DVLConstDataVectorBucket | ( | ConstDataVector< DV > * | data | ) |
Constructor from a payload object.
| data | Object to hold in the bucket. |
| SG::DVLConstDataVectorBucket< DV >::DVLConstDataVectorBucket | ( | std::unique_ptr< ConstDataVector< DV > > | data | ) |
Constructor from a payload object.
| data | Object to hold in the bucket. |
|
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 Athena::DataBucketBranch, BareDataBucket, SG::DataBucket< T >, SG::DVLDataBucket< T >, SG::DVLDataBucket< U >, SG::MetaContDataBucket< T >, SG::MetaContDataBucket< U >, SG::PyDataBucket, SG::SymlinkDataObject, and xAODPrivate::HolderBucket.
|
pure virtualinherited |
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. |
Implemented in Athena::DataBucketBranch, BareDataBucket, SG::DataBucket< T >, SG::DVLDataBucket< T >, SG::DVLDataBucket< U >, SG::MetaContDataBucket< T >, SG::MetaContDataBucket< U >, SG::PyDataBucket, SG::SymlinkDataObject, and xAODPrivate::HolderBucket.
|
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. |
|
overridevirtualinherited |
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. |
Reimplemented from SG::DataBucket< DV >.
|
staticinherited |
|
overridevirtualinherited |
The CLID for the class of object we're holding.
May be different from that of the base DataVector in the case of a ViewVector.
Reimplemented from SG::DataBucket< DV >.
|
inlineprotectedinherited |
Definition at line 131 of file DataBucket.h.
|
overridevirtualinherited |
If the held object derives from ILockable, call lock() on it.
Implements DataBucketBase.
|
inlineoverridevirtualinherited |
Implements DataBucketBase.
Definition at line 49 of file DataBucket.h.
|
inlineinherited |
Definition at line 72 of file DataBucket.h.
|
inlineinherited |
Definition at line 71 of file DataBucket.h.
|
inlineprotectedinherited |
Definition at line 130 of file DataBucket.h.
|
inlineoverridevirtualinherited |
Give up ownership of the DataBucket contents.
This leaks the contents and it is useful mainly for error handling.
Implements DataBucketBase.
Definition at line 121 of file DataBucket.h.
|
overridevirtualinherited |
The std::type_info for the class of object we're holding.
May be different from that of the base DataVector in the case of a ViewVector.
Reimplemented from SG::DataBucket< DV >.
|
protectedinherited |
Try a conversion using static SG_BASES information.
| clid | The class ID to which to convert. |
This can all be unfolded at compile time, so is fast, but doesn't take into account SG_ADD_BASES.
|
privateinherited |
The CLID for the class of object we're holding.
May be different from that of the base DataVector in the case of a ViewVector.
Definition at line 162 of file DVLDataBucket.h.
|
privateinherited |
Definition at line 160 of file DataBucket.h.
|
privateinherited |
Definition at line 152 of file DVLDataBucket.h.
|
privateinherited |
Definition at line 155 of file DataBucket.h.
|
privateinherited |
The std::type_info for the class of object we're holding.
May be different from that of the base DataVector in the case of a ViewVector.
Definition at line 157 of file DVLDataBucket.h.