ATLAS Offline Software
AuxStoreConstMem.cxx
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-2024 CERN for the benefit of the ATLAS collaboration.
4  */
14 
15 
16 namespace SG {
17 
18 
24  : m_size (size)
25 {
26 }
27 
28 
40 void AuxStoreConstMem::addBuffer (SG::auxid_t auxid, const void* buf)
41 {
42  if (m_buffers.size() <= auxid)
43  m_buffers.resize (auxid+1);
44  m_buffers[auxid] = buf;
45  m_auxids.insert (auxid);
46 }
47 
48 
59 const void* AuxStoreConstMem::getData (SG::auxid_t auxid) const
60 {
61  if (auxid < m_buffers.size()) {
62  return m_buffers[auxid];
63  }
64  return nullptr;
65 }
66 
67 
75 {
76  std::abort();
77 }
78 
79 
90 void* AuxStoreConstMem::getDecoration (auxid_t /*auxid*/, size_t /*size*/, size_t /*capacity*/)
91 {
92  return nullptr;
93 }
94 
95 
104 {
105  return m_auxids;
106 }
107 
108 
113 {
114  static const auxid_set_t empty;
115  return empty;
116 }
117 
118 
126 {
127  return false;
128 }
129 
130 
139 {
140 }
141 
142 
149 {
150  return false;
151 }
152 
153 
160 {
161  return m_size;
162 }
163 
164 
172 {
173 }
174 
175 
176 } // namespace SG
SG::AuxStoreConstMem::getDecoration
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity) override
Return the data vector for one aux data decoration item.
Definition: AuxStoreConstMem.cxx:90
SG::AuxStoreConstMem::m_size
size_t m_size
Definition: AuxStoreConstMem.h:157
AuxStoreConstMem.h
IConstAuxStore implementation referencing external buffers.
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::AuxStoreConstMem::getDecorIDs
virtual const SG::auxid_set_t & getDecorIDs() const override
Return a set of identifiers for decorations in this store.
Definition: AuxStoreConstMem.cxx:112
SG::AuxStoreConstMem::lock
virtual void lock() override
Lock the container.
Definition: AuxStoreConstMem.cxx:138
SG::AuxStoreConstMem::getAuxIDs
virtual const SG::auxid_set_t & getAuxIDs() const override
Return a set of identifiers for existing data items in this store.
Definition: AuxStoreConstMem.cxx:103
SG::AuxStoreConstMem::size
virtual size_t size() const override
Return the number of elements in the store.
Definition: AuxStoreConstMem.cxx:159
SG::AuxStoreConstMem::isDecoration
virtual bool isDecoration(auxid_t auxid) const override
Test if a particular variable is tagged as a decoration.
Definition: AuxStoreConstMem.cxx:125
empty
bool empty(TH1 *h)
Definition: computils.cxx:295
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
SG::AuxStoreConstMem::clearDecorations
virtual bool clearDecorations() override
Clear all decorations.
Definition: AuxStoreConstMem.cxx:148
SG::AuxStoreConstMem::addBuffer
void addBuffer(SG::auxid_t auxid, const void *buf)
Add a new, external buffer.
Definition: AuxStoreConstMem.cxx:40
CxxUtils::ConcurrentBitset::insert
ConcurrentBitset & insert(bit_t bit, bit_t new_nbits=0)
Set a bit to 1.
SG::AuxStoreConstMem::getData
virtual const void * getData(SG::auxid_t auxid) const override
Return the data vector for one aux data item.
Definition: AuxStoreConstMem.cxx:59
SG::AuxStoreConstMem::m_auxids
SG::auxid_set_t m_auxids
Set of auxid's for which we've added a buffer.
Definition: AuxStoreConstMem.h:161
SG::AuxStoreConstMem::m_buffers
std::vector< const void * > m_buffers
Definition: AuxStoreConstMem.h:158
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition: IAuxTypeVector.h:42
SG::AuxStoreConstMem::AuxStoreConstMem
AuxStoreConstMem(size_t size)
Constructor.
Definition: AuxStoreConstMem.cxx:23
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
SG::AuxStoreConstMem::lockDecoration
virtual void lockDecoration(SG::auxid_t auxid) override
Lock a decoration.
Definition: AuxStoreConstMem.cxx:171
SG::AuxStoreConstMem::getVector
virtual const IAuxTypeVector * getVector(SG::auxid_t) const override
Return vector interface for one aux data item.
Definition: AuxStoreConstMem.cxx:74