|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef ATHCONTAINERS_JAGGEDVECDECORATOR_H
15 #define ATHCONTAINERS_JAGGEDVECDECORATOR_H
76 template <
class PAYLOAD_T,
class ALLOC>
161 template <IsConstAuxElement ELT>
188 template <IsConstAuxElement ELT,
189 CxxUtils::InputRangeOverT<PAYLOAD_T> RANGE>
190 void set (
const ELT&
e,
const RANGE&
x)
const;
199 template <CxxUtils::InputRangeOverT<PAYLOAD_T> RANGE>
308 template <IsConstAuxElement ELT>
329 const std::string& clsname,
340 #endif // not ATHCONTAINERS_JAGGEDVECDECORATOR_H
Base class usable for accessors for variables with linked variables.
Proxy for jagged vectors.
Factory object that creates vectors using AuxTypeVector, specialized for JaggedVec.
typename AuxDataTraits< JaggedVecElt< Payload_t >, ALLOC >::span Elt_span
Decorator(const std::string &name)
Constructor.
Flag that a class may have auxiliary data associated with it.
Helper: Make a span from a jagged vector element.
Decorator(const SG::auxid_t auxid)
Constructor taking an auxid directly.
Elt_span getEltDecorSpan(const AuxVectorData &container) const
Get a span over the array of JaggedVecElt objects, as a decoration.
typename AuxDataTraits< T, ALLOC >::span span
A span over elements in the container.
typename ConstConverter_t::element_type element_type
Const span resulting from the conversion.
SG::auxid_t auxid() const
Return the aux id for this variable.
const_Elt_span getEltSpan(const AuxVectorData &container) const
Get a span over the array of JaggedVecElt objects.
Add to a range class conversions to containers.
Simplified version of the C++20 std::span.
const_span getDataSpan(const AuxVectorData &container) const
Get a span over spans representing the jagged vector.
span getDecorationSpan(const AuxVectorData &container) const
Get a span over spans representing the jagged vector, as a decoration.
Helper: Make a span — either read-only or writable — from a jagged vector element.
void container_pointer_type
Not supported.
size_t auxid_t
Identifier for a particular aux data item.
Payload_span getPayloadDecorSpan(const AuxVectorData &container) const
Get a span over the payload vector, as a decoration.
Decorator(const std::string &name, const std::string &clsname, const SG::AuxVarFlags flags)
Constructor.
typename std::allocator_traits< ALLOC >::template rebind_alloc< Payload_t > PayloadAlloc_t
Allocator to use for the payload vector.
reference_type operator()(const ELT &e) const
Fetch the variable for one element, as a non-const reference.
typename AuxDataTraits< JaggedVecElt< Payload_t >, ALLOC >::const_span const_Elt_span
Spans over the objects that are actually stored.
Helper class to provide type-safe access to aux data.
typename AuxDataTraits< Payload_t, PayloadAlloc_t >::span Payload_span
Allow customizing how aux data types are treated.
const Payload_t * getPayloadArray(const AuxVectorData &container) const
Get a pointer to the start of the payload array.
bool isAvailableWritable(const ELT &e) const
Test to see if this variable exists in the store and is writable.
void set(const AuxVectorData &container, size_t index, const RANGE &x) const
Set the variable for one element.
const Elt_t * getEltArray(const AuxVectorData &container) const
Get a pointer to the start of the array of JaggedVecElt objects.
Decorator(const std::string &name, const std::string &clsname)
Constructor.
Payload_t * getPayloadDecorArray(const AuxVectorData &container) const
Get a pointer to the start of the payload array, as a decoration.
AuxVarFlags
Additional flags to qualify an auxiliary variable.
Manage lookup of vectors of auxiliary data.
const_Payload_span getPayloadSpan(const AuxVectorData &container) const
Get a span over the payload vector.
PAYLOAD_T Payload_t
Payload type.
Add at() methods to a range class.
Basic definitions for auxiliary types.
Definition of JaggedVecElt.
Add at() methods to a range class.
Conversions for accessing jagged vector variables.
Compatibility helpers for using some pieces of C++20 concepts with older compilers.
bool isAvailableWritable(const AuxVectorData &c) const
Test to see if this variable exists in the store and is writable.
typename AuxDataTraits< T, ALLOC >::const_span const_span
Elt_t * getEltDecorArray(const AuxVectorData &container) const
Get a pointer to the start of the array of JaggedVecElt objects, as a decoration.
Helper class to provide constant type-safe access to aux data, specialized for JaggedVecElt.
Describe one element of a jagged vector.
Handle mappings between names and auxid_t.
void set(const ELT &e, const RANGE &x) const
Set the variable for one element.
typename AuxDataTraits< Payload_t, PayloadAlloc_t >::const_span const_Payload_span
Add to a range class conversions to containers.
Manage lookup of vectors of auxiliary data.
void const_container_pointer_type
Define macros for attributes used to control the static checker.
Helper class to provide type-safe access to aux data.