33 virtual size_t size_v()
const override {
return 1; }
135 "from a container.");
175 return m_container->getConstStore()->getDecorIDs();
245 data->setStore (store);
261 data->setStore (store);
273 data->setStore (store);
322#ifdef ATHCONTAINERS_R21_COMPAT
357#ifdef ATHCONTAINERS_R21_COMPAT
380#ifdef ATHCONTAINERS_R21_COMPAT
382 return m_container->getConstStore()->getDecorIDs();
443#ifdef ATHCONTAINERS_R21_COMPAT
478 "object in a container or with a private store.");
490 "object in a container or with a private store.");
507#ifdef ATHCONTAINERS_R21_COMPAT
543 "from a container.");
570 this->
copyAux (*other, warnUnlocked);
608#ifdef ATHCONTAINERS_R21_COMPAT
670 [[maybe_unused]]
bool warnUnlocked)
683#ifndef XAOD_STANDALONE
688 size_t oindex = other.index();
692#ifndef XAOD_STANDALONE
693 if (other_decors.
test (auxid)) {
695 other_ids.
reset (auxid);
698 if (warnUnlocked &&
r.getName(auxid) !=
"mcEventWeights") {
699 std::ostringstream
ss;
700 ss <<
"skipped unlocked decoration " <<
r.getName(auxid)
701 <<
" (" << auxid <<
")";
707 if (!
r.isLinked (auxid)) {
713 if (!other_ids.
test (auxid)) {
720#ifdef ATHCONTAINERS_R21_COMPAT
738 [[maybe_unused]]
bool warnUnlocked)
751#ifndef XAOD_STANDALONE
756 size_t oindex = other.index();
760#ifndef XAOD_STANDALONE
761 if (other_decors.
test (auxid)) {
763 other_ids.reset (auxid);
766 if (warnUnlocked &&
r.getName(auxid) !=
"mcEventWeights") {
767 std::ostringstream
ss;
768 ss <<
"skipped unlocked decoration " <<
r.getName(auxid)
769 <<
" (" << auxid <<
")";
775 if (!
r.isLinked (auxid)) {
781 if (!other_ids.test (auxid)) {
Base class for elements of a container that can have aux data.
Auxiliary data store for standalone objects.
Exceptions that can be thrown from AthContainers.
char data[hepevt_bytes_allocation_ATLAS]
Define macros for attributes used to control the static checker.
#define ATLAS_THREAD_SAFE
bool test(bit_t bit) const
Test to see if a bit is set.
ConcurrentBitset & reset(bit_t bit)
Turn off one bit.
virtual size_t size_v() const override
Return the size of the container.
virtual size_t capacity_v() const override
Return the capacity of the container.
Internal data container for private store.
AuxStoreStandalone m_store
Internal data container for standalone store.
Base class for elements of a container that can have aux data.
void releasePrivateStoreForDtor()
Out-of-line portion of destructor.
AuxElementStandaloneData * setStore1(const SG::IConstAuxStore *store)
Set the store associated with this object.
void clearCache()
Clear the cached aux data pointers.
void clearAux()
Clear all aux data associated with this element.
const SG::IConstAuxStore * getConstStore() const
Return the current store, as a const interface.
void makePrivateStore()
Create a new (empty) private store for this object.
void copyAux(const ConstAuxElement &other, bool warnUnlocked=false)
Copy aux data from another object.
void setStore(const SG::IConstAuxStore *store)
Set the store associated with this object.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
bool hasStore() const
Return true if this object has an associated store.
bool setIndexPrivate(size_t index, SG::AuxVectorData *container)
Set the index/container for this element.
static void clearAuxHelper(AuxVectorData &container, size_t index)
Clear all aux data associated with an element.
bool usingPrivateStore() const
Test to see if this object is currently using a private store.
bool hasNonConstStore() const
Return true if this object has an associated non-const store.
bool usingStandaloneStore() const
Test to see if this object is currently using a standalone store.
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
void releasePrivateStore()
Release and free any private store associated with this object.
friend class SG::ConstAuxElement
void makePrivateStore1(const void *other, bool warnUnlocked)
Create a new private store for this object and copy aux data.
static void copyAuxHelper(AuxVectorData &container, size_t index, const ConstAuxElement &other, bool warnUnlocked)
Copy aux data from another object.
bool clearDecorations() const
Clear all decorations.
SG::IAuxStore * getStore() const
Return the current store, as a non-const interface.
const SG::AuxVectorData * container() const
Return the container holding this element.
AuxElement()
Default constructor.
size_t index() const
Return the index of this element within its container.
Auxiliary data store for standalone objects.
Handle mappings between names and auxid_t.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Manage lookup of vectors of auxiliary data.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items in store associated with this object.
void setStore(SG::IAuxStore *store)
Set the store associated with this object.
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
void clearCache()
Clear the cached aux data pointers.
AuxVectorData()
Constructor.
SG::IAuxStore * getStore()
Return the current store, as a non-const interface.
bool hasStore() const
Return true if this object has an associated store.
const SG::AuxVectorData * m_container
The container of which this object is an element.
const SG::auxid_set_t & getDecorIDs() const
Return a set of identifiers for decorations for this object.
bool setIndexPrivate(size_t index, const SG::AuxVectorData *container)
Set the index/container for this element.
const SG::AuxVectorData * container() const
Return the container holding this element.
void releasePrivateStoreForDtor()
Out-of-line portion of destructor.
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
Exception — Bad use of private store.
Exception — Non-const operation performed on const aux data.
bool hadPrivateData() const
True if this element had private data before it was added to its current container.
bool havePrivateData() const
True if this element currently has private data.
void setNoPrivateData()
Record that this element does not have private data.
void setHadPrivateData()
Record that this element used to have private data.
void setIndex(size_t index)
Set the index of this element within its container.
void setHavePrivateData()
Record that this element currently has private data.
Interface for non-const operations on an auxiliary store.
Interface for const operations on an auxiliary store.
A set of aux data identifiers.
Helper for emitting error messages.
#define ATHCONTAINERS_WARNING(ctx, msg)
static const auxid_t null_auxid
To signal no aux data item.
size_t auxid_t
Identifier for a particular aux data item.