#include <IdentifiableContainerMT.h>
Inherits DataObject, EventContainers::IdentifiableContainerBase, and EventContainers::IIdentifiableCont< T >.
Inherited by CscCalibDataContainer, CscDigitContainer, CscRawDataContainer, HGTD_ALTIROC_RDO_Container, HGTD_RDO_Container, InDetRawDataContainer< CollectionT >, MdtCsmContainer, MdtDigitContainer, MmDigitContainer, Muon::MM_RawDataContainer, Muon::MuonCoinDataContainer< CollectionT >, Muon::MuonPrepDataContainer< CollectionT >, Muon::NSW_MMTP_RawDataContainer, Muon::NSW_PadTriggerDataContainer, Muon::STGC_RawDataContainer, Muon::MuonPrepDataContainer< CscPrepData >, Muon::MuonPrepDataContainer< MdtPrepData >, Muon::MuonPrepDataContainer< MMPrepData >, Muon::MuonPrepDataContainer< RpcPrepData >, Muon::MuonPrepDataContainer< sTgcPrepData >, Muon::MuonPrepDataContainer< TgcPrepData >, RpcDigitContainer, RpcPadContainer, SpacePointContainer, sTgcDigitContainer, TgcDigitContainer, TgcL1RdoContainer, TgcRdoContainer, TileRawDataContainer< TCOLLECTION >, TileRawDataContainer< TileBeamElemCollection >, TileRawDataContainer< TileCellCollection >, TileRawDataContainer< TileDigitsCollection >, TileRawDataContainer< TileHitCollection >, TileRawDataContainer< TileRawChannelCollection >, and Trk::PrepRawDataContainer< CollectionT >.
|
| | IdentifiableContainerMT (IdentifierHash hashMax) |
| | constructor initializes the collection the hashmax, OFFLINE usages pattern More...
|
| |
| | IdentifiableContainerMT (IdentifierHash hashMax, EventContainers::Mode) |
| |
| | IdentifiableContainerMT (ICACHE *cache) |
| | constructor initializes with a link to a cache, ONLINE usage pattern More...
|
| |
| | ~IdentifiableContainerMT () |
| |
| virtual bool | hasExternalCache () const override final |
| |
| virtual const T * | indexFindPtr (IdentifierHash hashId) const override final |
| | return pointer on the found entry or null if out of range using hashed index - fast version, does not call cnv if object not there More...
|
| |
| const_iterator | indexFind (IdentifierHash hashId) const |
| |
| virtual StatusCode | addCollection (const T *coll, IdentifierHash hashId) override final |
| | insert collection into container with id hash if IDC should not take ownership of collection, set ownsColl to false More...
|
| |
| virtual StatusCode | addOrDelete (std::unique_ptr< T >, IdentifierHash hashId) override final |
| | Tries to add the item to the cache, if the item already exists then it is deleted This is a convenience method for online multithreaded scenarios. More...
|
| |
| virtual StatusCode | addOrDelete (std::unique_ptr< const T >, IdentifierHash hashId) override final |
| |
| StatusCode | addOrDelete (std::unique_ptr< T >, IdentifierHash hashId, bool &deleted) |
| | identical to previous excepts allows counting of deletions More...
|
| |
| StatusCode | addLock (std::unique_ptr< T > ptr, IdentifierHash hashId) |
| | Like the other add methods but optimized for changing from the inprogress state. More...
|
| |
| virtual bool | tryAddFromCache (IdentifierHash hashId) override final |
| | Looks in the cache to see if item already exists if not it returns false, If it does exist it incorporates it into the IDC view but changing the mask. More...
|
| |
| StatusCode | fetchOrCreate (IdentifierHash hashId) |
| | Tries will look for item in cache, if it doesn't exist will call the cache IMAKER If cache doesn't have an IMAKER then this fails. More...
|
| |
| StatusCode | fetchOrCreate (const std::vector< IdentifierHash > &hashId) |
| |
| virtual StatusCode naughtyRetrieve | ATLAS_NOT_THREAD_SAFE (IdentifierHash hashId, T *&collToRetrieve) const override final |
| |
| T * | removeCollection (IdentifierHash hashId) |
| | remove collection from container for id hash, returning it (and ownership) to client More...
|
| |
| virtual void | cleanup () override final |
| | reset m_hashids and call IdentifiableCache's cleanup More...
|
| |
| virtual size_t | fullSize () const override final |
| | return full size of container More...
|
| |
| size_t | size () const |
| | Duplicate of fullSize for backwards compatability. More...
|
| |
| void | prepareItr () const |
| |
| virtual size_t | numberOfCollections () const override final |
| | return number of collections More...
|
| |
| const std::vector< EventContainers::hashPair< T > > & | GetAllHashPtrPair () const |
| |
| virtual std::vector< IdentifierHash > | GetAllCurrentHashes () const override final |
| | Returns a collection of all hashes availiable in this IDC. More...
|
| |
| const_iterator | begin () const |
| | return const_iterator for first entry More...
|
| |
| const_iterator | end () const |
| | return const_iterator for end of container More...
|
| |
| bool | empty () const |
| | return true if container is empty More...
|
| |
| IDC_WriteHandle | getWriteHandle (IdentifierHash hash) |
| |
| virtual StatusCode | naughtyRetrieve (IdentifierHash hashId, T *&collToRetrieve) const =0 |
| |
template<class T>
class IdentifiableContainerMT< T >
Definition at line 30 of file IdentifiableContainerMT.h.
◆ base_value_type
◆ const_pointer
◆ const_reference
◆ Hash_Container
◆ ICACHE
◆ IDENTIFIABLE
◆ IdentifiableCacheBase
◆ MyType
◆ pointer
◆ reference
◆ size_type
◆ value_type
◆ IdentifiableContainerMT() [1/3]
◆ IdentifiableContainerMT() [2/3]
◆ IdentifiableContainerMT() [3/3]
◆ ~IdentifiableContainerMT()
◆ addCollection()
◆ addLock()
Like the other add methods but optimized for changing from the inprogress state.
Definition at line 373 of file IdentifiableContainerMT.h.
375 return m_link->addLock(hashId,
ptr.release());
◆ addOrDelete() [1/3]
◆ addOrDelete() [2/3]
Tries to add the item to the cache, if the item already exists then it is deleted This is a convenience method for online multithreaded scenarios.
Implements EventContainers::IIdentifiableCont< T >.
Definition at line 351 of file IdentifiableContainerMT.h.
354 auto ptr = uptr.release();
355 bool b = IdentifiableContainerBase::insert(hashId,
ptr);
357 return StatusCode::SUCCESS;
◆ addOrDelete() [3/3]
identical to previous excepts allows counting of deletions
Definition at line 380 of file IdentifiableContainerMT.h.
383 auto ptr = uptr.release();
384 bool b = IdentifiableContainerBase::insert(hashId,
ptr);
387 return StatusCode::SUCCESS;
◆ ATLAS_NOT_THREAD_SAFE()
◆ begin()
◆ cleanup() [1/2]
◆ cleanup() [2/2]
| void IdentifiableContainerBase::cleanup |
( |
deleter_f * |
deleter | ) |
|
|
protectedinherited |
◆ empty()
◆ end()
◆ fetchOrCreate() [1/2]
◆ fetchOrCreate() [2/2]
Tries will look for item in cache, if it doesn't exist will call the cache IMAKER If cache doesn't have an IMAKER then this fails.
Definition at line 317 of file IdentifiableContainerMT.h.
319 return IdentifiableContainerBase::fetchOrCreate(hashId);
◆ fullSize()
template<class T >
|
|
inlinefinaloverridevirtual |
◆ GetAllCurrentHashes()
template<class T >
|
|
inlinefinaloverridevirtual |
Returns a collection of all hashes availiable in this IDC.
If this is an "offline" mode IDC then this is identical to the cache If this is an "online" mode IDC then this is the items that both exist in the cache and have a postive mask element
Implements EventContainers::IIdentifiableCont< T >.
Definition at line 229 of file IdentifiableContainerMT.h.
230 return IdentifiableContainerBase::GetAllCurrentHashes();
◆ GetAllHashPtrPair()
Definition at line 218 of file IdentifiableContainerMT.h.
221 return reinterpret_cast<const std::vector < EventContainers::hashPair<T>
>&>
222 (
m_link->getAllHashPtrPair());
◆ getWriteHandle()
◆ hasExternalCache()
template<class T >
|
|
inlinefinaloverridevirtual |
◆ indexFind()
◆ indexFindPtr()
return pointer on the found entry or null if out of range using hashed index - fast version, does not call cnv if object not there
return valuetype on the found entry or null if out of range using hashed index - fast version, does not call cnv if object not there
Implements EventContainers::IIdentifiableCont< T >.
Definition at line 290 of file IdentifiableContainerMT.h.
292 return std::bit_cast<const T* > (IdentifiableContainerBase::indexFindPtr(hashId));
◆ insert()
| bool EventContainers::IdentifiableContainerBase::insert |
( |
IdentifierHash |
hashId, |
|
|
const void * |
ptr |
|
) |
| |
|
inlineprotectedinherited |
◆ naughtyRetrieve()
◆ numberOfCollections()
template<class T >
|
|
inlinefinaloverridevirtual |
◆ prepareItr()
◆ removeCollection()
remove collection from container for id hash, returning it (and ownership) to client
Definition at line 260 of file IdentifiableContainerMT.h.
262 return std::bit_cast<T*>(
m_link->removeCollection(hashId));
◆ ResetMask()
| void EventContainers::IdentifiableContainerBase::ResetMask |
( |
| ) |
|
|
protectedinherited |
◆ size()
◆ tryAddFromCache() [1/2]
◆ tryAddFromCache() [2/2]
◆ Wait()
| void EventContainers::IdentifiableContainerBase::Wait |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ IDC_WriteHandle
◆ m_link
| std::unique_ptr<I_InternalIDC> EventContainers::IdentifiableContainerBase::m_link |
|
protectedinherited |
◆ m_OnlineMode
| bool EventContainers::IdentifiableContainerBase::m_OnlineMode |
|
protectedinherited |
The documentation for this class was generated from the following file: