ATLAS Offline Software
Loading...
Searching...
No Matches
AuxStoreConstMem.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration.
4 */
11
12
13#ifndef ATHCONTAINERS_AUXSTORECONSTMEM_H
14#define ATHCONTAINERS_AUXSTORECONSTMEM_H
15
16
18
19
20namespace SG {
21
22
37 : public IConstAuxStore
38{
39public:
44 AuxStoreConstMem (size_t size);
45
46
58 void addBuffer (SG::auxid_t auxid, const void* buf);
59
60
71 virtual const void* getData (SG::auxid_t auxid) const override;
72
73
80 virtual const IAuxTypeVector* getVector (SG::auxid_t /*auxid*/) const override;
81
82
93 virtual void* getDecoration (auxid_t auxid, size_t size, size_t capacity) override;
94
95
103 virtual const SG::auxid_set_t& getAuxIDs() const override;
104
105
109 virtual const SG::auxid_set_t& getDecorIDs() const override;
110
111
119 virtual SG::auxid_set_t
120 getCopyIDs (bool warnUnlocked = false) const override;
121
122
129 virtual bool isDecoration (auxid_t auxid) const override;
130
131
139 virtual void lock() override;
140
141
147 virtual bool clearDecorations() override;
148
149
155 virtual size_t size() const override;
156
157
164 virtual void lockDecoration (SG::auxid_t auxid) override;
165
166
167private:
168 size_t m_size;
169 std::vector<const void*> m_buffers;
170
173};
174
175
176} // namespace SG
177
178#endif // not ATHCONTAINERS_AUXSTORECONSTMEM_H
Interface for const operations on an auxiliary store.
virtual bool clearDecorations() override
Clear all decorations.
AuxStoreConstMem(size_t size)
Constructor.
virtual const SG::auxid_set_t & getAuxIDs() const override
Return a set of identifiers for existing data items in this store.
virtual void lock() override
Lock the container.
SG::auxid_set_t m_auxids
Set of auxid's for which we've added a buffer.
virtual const SG::auxid_set_t & getDecorIDs() const override
Return a set of identifiers for decorations in this store.
virtual size_t size() const override
Return the number of elements in the store.
std::vector< const void * > m_buffers
void addBuffer(SG::auxid_t auxid, const void *buf)
Add a new, external buffer.
virtual bool isDecoration(auxid_t auxid) const override
Test if a particular variable is tagged as a decoration.
virtual SG::auxid_set_t getCopyIDs(bool warnUnlocked=false) const override
Return the set of variables to copy in a deep copy.
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity) override
Return the data vector for one aux data decoration item.
virtual void lockDecoration(SG::auxid_t auxid) override
Lock a decoration.
virtual const void * getData(SG::auxid_t auxid) const override
Return the data vector for one aux data item.
virtual const IAuxTypeVector * getVector(SG::auxid_t) const override
Return vector interface for one aux data item.
Abstract interface for manipulating vectors of arbitrary types.
A set of aux data identifiers.
Definition AuxTypes.h:47
Forward declaration.
SG::auxid_t auxid() const
Return the aux id for this variable.
size_t auxid_t
Identifier for a particular aux data item.
Definition AuxTypes.h:27