#include <InternalOfflineFast.h>
Definition at line 19 of file InternalOfflineFast.h.
◆ deleter_f
| typedef void EventContainers::I_InternalIDC::deleter_f(const void *p) |
|
inherited |
◆ hashPair
◆ InternalConstItr
◆ InternalOfflineFast()
| InternalOfflineFast::InternalOfflineFast |
( |
size_t | max | ) |
|
◆ ~InternalOfflineFast()
| virtual EventContainers::InternalOfflineFast::~InternalOfflineFast |
( |
| ) |
|
|
virtualdefault |
◆ addLock()
Implements EventContainers::I_InternalIDC.
Definition at line 99 of file InternalOfflineFast.cxx.
99 {
100 bool added =
insert(hashId, ptr);
101 if(!added) {
102 throw std::runtime_error("IDC WARNING Deletion shouldn't occur in addLock paradigm");
103 }
104 return StatusCode::SUCCESS;
105}
virtual bool insert(IdentifierHash hashId, const void *ptr) override
◆ cbegin()
◆ cend()
◆ cleanUp()
| void InternalOfflineFast::cleanUp |
( |
deleter_f * | deleter | ) |
|
|
overridevirtualnoexcept |
Implements EventContainers::I_InternalIDC.
Definition at line 74 of file InternalOfflineFast.cxx.
74 {
75 if(!m_needsupdate.load(std::memory_order_acquire)) {
77 if(!
m_map.empty()) m_needsupdate.store(
true, std::memory_order_relaxed);
78 }
79 else {
82 }
83 }
85}
IPayloadDeleter & deleter()
Return a reference to the payload deleter object.
◆ destructor()
| void InternalOfflineFast::destructor |
( |
deleter_f * | deleter | ) |
|
|
overridevirtualnoexcept |
◆ fetchOrCreate() [1/2]
◆ fetchOrCreate() [2/2]
| StatusCode InternalOfflineFast::fetchOrCreate |
( |
IdentifierHash | hashId | ) |
|
|
overridevirtual |
◆ findIndexPtr()
◆ fullSize()
| virtual size_t EventContainers::InternalOfflineFast::fullSize |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
◆ getAllCurrentHashes()
| std::vector< IdentifierHash > InternalOfflineFast::getAllCurrentHashes |
( |
| ) |
const |
|
overridevirtual |
◆ getAllHashPtrPair()
◆ indexFind()
◆ insert()
◆ numberOfCollections()
| size_t InternalOfflineFast::numberOfCollections |
( |
| ) |
const |
|
overridevirtual |
◆ removeCollection()
◆ tryAddFromCache() [1/2]
◆ tryAddFromCache() [2/2]
◆ wait()
| void InternalOfflineFast::wait |
( |
| ) |
const |
|
overridevirtual |
Implements EventContainers::I_InternalIDC.
Definition at line 24 of file InternalOfflineFast.cxx.
24 {
25 std::scoped_lock
lock (m_waitMutex);
26 if(m_needsupdate.load(std::memory_order_acquire) == false) return;
30 }
31 m_map.shrink_to_fit();
32 m_needsupdate.store(false, std::memory_order_release);
33}
virtual void lock()=0
Interface to allow an object to lock itself when made const in SG.
◆ ATLAS_THREAD_SAFE [1/3]
| std::atomic<bool> m_needsupdate EventContainers::InternalOfflineFast::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [2/3]
| std::mutex m_waitMutex EventContainers::InternalOfflineFast::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ ATLAS_THREAD_SAFE [3/3]
◆ m_fullMap
| std::vector<const void*> EventContainers::InternalOfflineFast::m_fullMap |
|
private |
The documentation for this class was generated from the following files: