13 long long entry,
bool standalone, std::recursive_mutex* iomtx)
14 :
SG::AuxStoreInternal( standalone ),
18 for(
auto id : reader.auxIDs() ) {
42 if( this_nc->readData(auxid) ) {
43 ret = SG::AuxStoreInternal::getVector (auxid);
53 throw(
"Non-const access to RootAuxDynStore is not supported");
60 const void* ret = SG::AuxStoreInternal::getIODataInternal (auxid,
true);
63 if( this_nc->readData(auxid) ) {
64 ret = SG::AuxStoreInternal::getIOData (auxid);
90 if (SG::AuxStoreInternal::getIODataInternal (auxid,
true) == 0 &&
91 SG::AuxStoreInternal::getAuxIDs().
count (auxid) > 0)
95 return SG::AuxStoreInternal::getDecoration (auxid,
size, capacity);
108 if (SG::AuxStoreInternal::getIODataInternal (auxid,
true) == 0 &&
109 SG::AuxStoreInternal::getAuxIDs().
count (auxid) > 0)
113 return SG::AuxStoreInternal::isDecoration (auxid);
123 const std::size_t s = SG::AuxStoreInternal::size();
129 if(
getData(
id ) !=
nullptr ) {
130 return SG::AuxStoreInternal::size();
Exceptions that can be thrown from AthContainers.
Abstract interface for manipulating vectors of arbitrary types.
virtual void lock()=0
Interface to allow an object to lock itself when made const in SG.
#define ATLAS_THREAD_SAFE
AthContainers_detail::lock_guard< mutex_t > guard_t
RootAuxDynStore(RootAuxDynReader &reader, long long entry, bool standalone, std::recursive_mutex *iomtx=nullptr)
virtual const void * getIOData(SG::auxid_t auxid) const override
implementation of the IAuxStoreIO interface
virtual const void * getData(SG::auxid_t auxid) const override
implementation of the IAuxStore interface
virtual void * getDecoration(SG::auxid_t auxid, size_t size, size_t capacity) override
Return the data vector for one aux data decoration item.
virtual size_t size() const override
Return the number of elements in the store.
std::recursive_mutex * m_iomutex
Optional mutex used to serialize I/O with RootStorageSvc (not owned).
virtual bool isDecoration(SG::auxid_t auxid) const override
Test if a particular variable is tagged as a decoration.
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override
Exception — Attempted to modify auxiliary data in a locked store.
Abstract interface for manipulating vectors of arbitrary types.
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
size_t auxid_t
Identifier for a particular aux data item.