|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef ATHCONTAINERS_JAGGEDVECVECTORFACTORY_H
15 #define ATHCONTAINERS_JAGGEDVECVECTORFACTORY_H
31 template <
class T,
class ALLOC = AuxAllocator_t<JaggedVecElt<T> > >
57 bool isLinked)
const override;
81 bool isLinked)
const override;
98 size_t n)
const override;
116 size_t n)
const override;
135 size_t n)
const override;
147 size_t n)
const override;
166 size_t n,
bool for_output)
const;
176 template <
class T,
class ALLOC>
193 #endif // not ATHCONTAINERS_JAGGEDVECVECTORFACTORY_H
char data[hepevt_bytes_allocation_ATLAS]
Factory object that creates vectors using AuxTypeVector.
Factory object that creates vectors using AuxTypeVector.
typename Base::vector_value_type vector_value_type
virtual void clear(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, size_t n) const override
Clear a range of elements within a vector.
virtual void copyForOutput(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, const AuxVectorData &src, size_t src_index, size_t n) const override
Copy elements between vectors, possibly applying thinning.
virtual void swap(SG::auxid_t auxid, AuxVectorData &a, size_t aindex, AuxVectorData &b, size_t bindex, size_t n) const override
Swap elements between vectors.
uint32_t index_type
Type for the indices.
typename AuxTypeVector_t::vector_value_type vector_value_type
Factory objects that creates vectors for packed links.
size_t auxid_t
Identifier for a particular aux data item.
AuxTypeVector< T, ALLOC > AuxTypeVector_t
virtual std::unique_ptr< IAuxTypeVector > create(SG::auxid_t auxid, size_t size, size_t capacity, bool isLinked) const override
Create a vector object of this type.
typename Elt::Shift Shift
virtual std::unique_ptr< IAuxTypeVector > createFromData(SG::auxid_t auxid, void *data, IAuxTypeVector *linkedVector, bool isPacked, bool ownFlag, bool isLinked) const override
Create a vector object of this type from a data blob.
Factory object that creates vectors using AuxTypeVector.
void copyImpl(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, const AuxVectorData &src, size_t src_index, size_t n, bool for_output) const
Copy elements between vectors.
typename Elt::index_type index_type
typename AuxTypeVector_t::vector_value_type vector_value_type
virtual void copy(SG::auxid_t auxid, AuxVectorData &dst, size_t dst_index, const AuxVectorData &src, size_t src_index, size_t n) const override
Copy elements between vectors.
Abstract interface for manipulating vectors of arbitrary types.
Describe one element of a jagged vector.
Implementation of IAuxTypeVector for JaggedVecElt types.
Manage lookup of vectors of auxiliary data.
Implementation of IAuxTypeVector holding a vector of JaggedVec.