![]() |
ATLAS Offline Software
|
This is an implementation class for all Holders It is templated with 2 arguments STORED which is type of stored objects Another type is CONTAINER for that type. More...
#include <Holder.h>
Classes | |
struct | MemoryMgr |
Public Types | |
typedef Holder< STORED > | base_type |
typedef STORED | stored_type |
typedef CONTAINER | container_type |
typedef HLTNavDetails::TypeProxy< STORED > | FeatureProxy |
typedef HLTNavDetails::TypeProxy< CONTAINER > | ContainerProxy |
typedef std::multimap< HLT::TriggerElement::ObjectIndex, MemoryMgr > | MemoryMgrMap |
Public Member Functions | |
HolderImp () | |
HolderImp (const std::string &prefix, const std::string &label, uint16_t idx) | |
virtual | ~HolderImp () |
virtual IHolder * | clone (const std::string &prefix, const std::string &label, uint16_t idx) const |
virtual HLT::TriggerElement::ObjectIndex | add (const STORED *f, bool inSG=false, const std::string &="") |
adds object(s) to be holded More... | |
virtual bool | get (const STORED *&dest, HLT::TriggerElement::ObjectIndex idx) |
gets object(s) holded More... | |
virtual bool | contains (const STORED *obj, HLT::TriggerElement::ObjectIndex &idx) |
check if object(s) in dest are held by this holder More... | |
bool | getElementLinks (ElementLinkVector< CONTAINER > &cont, HLT::TriggerElement::ObjectIndex idx) |
bool | getElementLinks (ElementLinkVector< CONTAINER > &cont) |
bool | getWithLink (typename set_link< STORED, CONTAINER, std::is_same< STORED, CONTAINER >::value >::type &link, HLT::TriggerElement::ObjectIndex &idx) |
virtual std::string | getUniqueKey () |
virtual std::string | getNextKey () |
virtual void | prepare (const asg::AsgMessaging &logger, HLT::AccessProxy *sg, IConversionSvc *objSerializer, bool readonly=false) |
virtual bool | syncWithSG (SG::OwnershipPolicy policy=SG::OWN_ELEMENTS) |
virtual bool | checkAndSetOwnership (SG::OwnershipPolicy policy) |
virtual bool | serialize (std::vector< uint32_t > &output) const |
virtual const std::string & | key () const |
virtual void | print (MsgStream &m) const |
virtual DataObject * | getDataObject () |
virtual DataObject * | getAuxDataObject () |
virtual bool | setDataObject (DataObject *dobj) |
virtual bool | setAuxDataObject (DataObject *dobjaux) |
virtual CLID | typeClid () const |
virtual const std::string & | typeName () const |
virtual CLID | containerClid () const |
virtual const std::string & | collectionName () const |
virtual CLID | auxClidOrZero () const |
virtual const ITypeProxy & | containerTypeProxy () const |
Public Attributes | |
ContainerProxy | m_containerProxy |
MemoryMgrMap | m_memMgr |
Private Attributes | |
std::string | m_key |
This is an implementation class for all Holders It is templated with 2 arguments STORED which is type of stored objects Another type is CONTAINER for that type.
Examples when it works are: HolderImp<A, DataVector > — typical HolderImp< A, Acontainer> > — as above, Acontainer is either typedef for DataVector or inherits from it HolderImp< DataVector, DataVector > — when both are of the same type HolderImp< Acontainer, Acontainer> > — as above
typedef Holder<STORED> HLTNavDetails::HolderImp< STORED, CONTAINER >::base_type |
typedef CONTAINER HLTNavDetails::HolderImp< STORED, CONTAINER >::container_type |
typedef HLTNavDetails::TypeProxy<CONTAINER> HLTNavDetails::HolderImp< STORED, CONTAINER >::ContainerProxy |
typedef HLTNavDetails::TypeProxy<STORED> HLTNavDetails::HolderImp< STORED, CONTAINER >::FeatureProxy |
typedef std::multimap<HLT::TriggerElement::ObjectIndex, MemoryMgr> HLTNavDetails::HolderImp< STORED, CONTAINER >::MemoryMgrMap |
typedef STORED HLTNavDetails::HolderImp< STORED, CONTAINER >::stored_type |
HLTNavDetails::HolderImp< STORED, CONTAINER >::HolderImp | ( | ) |
HLTNavDetails::HolderImp< STORED, CONTAINER >::HolderImp | ( | const std::string & | prefix, |
const std::string & | label, | ||
uint16_t | idx | ||
) |
|
virtual |
|
virtual |
adds object(s) to be holded
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
check if object(s) in dest are held by this holder
|
virtual |
gets object(s) holded
|
virtual |
|
virtual |
bool HLTNavDetails::HolderImp< STORED, CONTAINER >::getElementLinks | ( | ElementLinkVector< CONTAINER > & | cont | ) |
bool HLTNavDetails::HolderImp< STORED, CONTAINER >::getElementLinks | ( | ElementLinkVector< CONTAINER > & | cont, |
HLT::TriggerElement::ObjectIndex | idx | ||
) |
|
virtual |
|
virtual |
bool HLTNavDetails::HolderImp< STORED, CONTAINER >::getWithLink | ( | typename set_link< STORED, CONTAINER, std::is_same< STORED, CONTAINER >::value >::type & | link, |
HLT::TriggerElement::ObjectIndex & | idx | ||
) |
|
inlinevirtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
|
inlinevirtual |
ContainerProxy HLTNavDetails::HolderImp< STORED, CONTAINER >::m_containerProxy |
|
private |
MemoryMgrMap HLTNavDetails::HolderImp< STORED, CONTAINER >::m_memMgr |