|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef ATHCONTAINERS_PACKEDLINKVECTORFACTORY_H
15 #define ATHCONTAINERS_PACKEDLINKVECTORFACTORY_H
20 #include "AthLinks/DataLink.h"
32 template <
class CONT,
class ALLOC = AuxAllocator_t<PackedLink<CONT> > >
55 bool isLinked)
const override;
79 bool isLinked)
const override;
96 size_t n)
const override;
114 size_t n)
const override;
133 size_t n)
const override;
142 template <
class CONT,
class ALLOC>
162 template <
class CONT,
188 bool isLinked)
const override;
212 bool isLinked)
const override;
229 size_t n)
const override;
247 size_t n)
const override;
266 size_t n)
const override;
275 template <
class CONT,
class VALLOC,
class ALLOC>
292 #endif // not ATHCONTAINERS_PACKEDLINKVECTORFACTORY_H
char data[hepevt_bytes_allocation_ATLAS]
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.
typename Base::AuxTypeVector_t AuxTypeVector_t
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.
std::allocator< T > AuxAllocator_t
The default allocator type to use for auxiliary variables.
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.
Factory object that creates vectors using AuxTypeVector.
Factory object that creates vectors using AuxTypeVector.
Factory object that creates vectors for packed links.
typename Base::vector_value_type vector_value_type
Factory object that creates vectors of vectors of packed links.
Helper functions for managing PackedLink variables.
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.
typename AuxTypeVector_t::vector_value_type vector_value_type
size_t auxid_t
Identifier for a particular aux data item.
Implementation of IAuxTypeVector holding a vector instance.
AuxTypeVector< T, ALLOC > AuxTypeVector_t
Allow customizing how aux data types are treated.
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.
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.
Factory object that creates vectors using AuxTypeVector.
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.
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.
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.
Implementation of IAuxTypeVector holding a vector of PackedLink.
typename AuxTypeVector_t::vector_value_type vector_value_type
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.
Abstract interface for manipulating vectors of arbitrary types.
typename Base::vector_value_type vector_value_type
Manage lookup of vectors of auxiliary data.
Implementation of IAuxTypeVector for PackedLink types.