|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef ATHCONTAINERS_PACKEDLINKCONSTACCESSOR_H
15 #define ATHCONTAINERS_PACKEDLINKCONSTACCESSOR_H
26 #include "AthLinks/ElementLink.h"
27 #include "AthLinks/DataLink.h"
69 template <
class CONT,
class ALLOC>
138 template <IsConstAuxElement ELT>
203 const std::string& clsname,
253 template <
class CONT,
class ALLOC,
class VALLOC>
261 using VElt_t = std::vector<SG::PackedLink<CONT>, VALLOC>;
329 template <IsConstAuxElement ELT>
366 template <IsConstAuxElement ELT>
414 const std::string& clsname,
425 #endif // not ATHCONTAINERS_PACKEDLINKCONSTACCESSOR_H
typename AuxDataTraits< T, ALLOC >::element_type element_type
Type the user sees.
Base class usable for accessors for variables with linked variables.
ConstAccessor(const SG::auxid_t auxid)
Constructor taking an auxid directly.
typename std::allocator_traits< ALLOC >::template rebind_alloc< DLink_t > DLinkAlloc_t
Helper: Convert a vector of PackedLink to a span over ElementLinks.
Helper: Convert a PackedLink to an ElementLink.
const_PackedLink_span getPackedLinkSpan(const AuxVectorData &container, size_t index) const
Get a span over the vector of PackedLinks for a given element.
const VElt_t * getPackedLinkVectorArray(const AuxVectorData &container) const
Get a pointer to the start of the array of vectors of PackedLinks.
ConstAccessor(const SG::auxid_t auxid)
Constructor taking an auxid directly.
ConstAccessor(const std::string &name, const std::string &clsname)
Constructor.
SG::auxid_t auxid() const
Return the aux id for this variable.
typename AuxDataTraits< PackedLink< CONT >, VALLOC >::const_span const_PackedLink_span
And a span over PackedLink objects.
void const_container_pointer_type
Not supported.
typename AuxDataTraits< T, ALLOC >::const_span const_span
A span over elements in the container.
Link_t resolveLink(const AuxVectorData &container, size_t index) const
Helper to resolve a PackedLink to an ElementLink.
const_DataLink_span getDataLinkSpan(const AuxVectorData &container) const
Get a span over the array of DataLinks.
ConstAccessor(const std::string &name, const std::string &clsname)
Constructor.
typename AuxDataTraits< DataLink< CONT >, DLinkAlloc_t >::const_span const_DataLink_span
const_span getDataSpan(const AuxVectorData &container) const
Get a span of ElementLinks.
Helper class to provide constant type-safe access to aux data.
Base class usable for accessors for variables with linked variables.
Add to a range class conversions to containers.
typename AuxDataTraits< VElt_t, ALLOC >::const_span const_PackedLinkVector_span
Spans over the objects that are actually stored.
Simplified version of the C++20 std::span.
Conversions between PackedLink and ElementLink.
const_PackedLink_span getPackedLinkSpan(const ELT &e) const
Get a span over the vector of PackedLinks for a given element.
ConstAccessor(const std::string &name)
Constructor.
const_span getDataSpan(const AuxVectorData &container) const
Get a span over spans of ElementLinks.
size_t auxid_t
Identifier for a particular aux data item.
std::vector< SG::PackedLink< CONT >, VALLOC > VElt_t
typename AuxDataTraits< DataLink< CONT >, DLinkAlloc_t >::const_span const_DataLink_span
const_PackedLink_span getPackedLinkSpan(const AuxVectorData &container) const
Get a span over the array of PackedLinks.
const_DataLink_span getDataLinkSpan(const AuxVectorData &container) const
Get a span over the array of DataLinks.
Object reference supporting deferred reading from StoreGate.
Allow customizing how aux data types are treated.
const DLink_t * getDataLinkArray(const AuxVectorData &container) const
Get a pointer to the start of the linked array of DataLinks.
SG::PackedLink< CONT > PLink_t
Definition of PackedLink type.
const PLink_t * getPackedLinkArray(const AuxVectorData &container) const
Get a pointer to the start of the array of PackedLinks.
typename ConstVectorTransform_t::value_type const_elt_span
Allow customizing how aux data types are treated.
AuxVarFlags
Additional flags to qualify an auxiliary variable.
ConstAccessor(const std::string &name, const std::string &clsname, const SG::AuxVarFlags flags)
Constructor.
ConstAccessor(const std::string &name, const std::string &clsname, const SG::AuxVarFlags flags)
Constructor.
const_elt_span element_type
Type the user sees.
void const_container_pointer_type
Not supported.
Add at() methods to a range class.
Basic definitions for auxiliary types.
Add at() methods to a range class.
const_reference_type operator()(const ELT &e) const
Fetch the variable for one element, as a const reference.
const DLink_t * getDataLinkArray(const AuxVectorData &container) const
Get a pointer to the start of the linked array of DataLinks.
typename AuxDataTraits< PackedLink< CONT >, ALLOC >::const_span const_PackedLink_span
Spans over the objects that are actually stored.
SG::PackedLink< CONT > PLink_t
Add to a range class conversions to containers.
element_type const_reference_type
Type referencing an item.
typename std::allocator_traits< ALLOC >::template rebind_alloc< DLink_t > DLinkAlloc_t
Manage lookup of vectors of auxiliary data.
Helper class to provide constant type-safe access to aux data.
ConstAccessor(const std::string &name)
Constructor.
const_PackedLinkVector_span getPackedLinkVectorSpan(const AuxVectorData &container) const
Get a span over the vectors of PackedLinks.
Base class for elements of a container that can have aux data.