17#ifndef ATHCONTAINERS_DECORATOR_H
18#define ATHCONTAINERS_DECORATOR_H
57template <
class T,
class ALLOC = AuxAllocator_t<T> >
65 using const_reference_type =
70 using rhs_const_reference_type = const_reference_type;
102 Decorator (
const std::string& name,
const std::string& clsname);
122 template <IsConstAuxElement ELT>
148 template <IsConstAuxElement ELT>
194 template <IsConstAuxElement ELT>
202 template <IsConstAuxElement ELT>
236 const std::string& clsname,
Handle mappings between names and auxid_t.
Basic definitions for auxiliary types.
Manage lookup of vectors of auxiliary data.
Flag that a class may have auxiliary data associated with it.
typename vector_type::pointer container_pointer_type
Pointers to the data within the container.
CxxUtils::span< container_value_type > span
CxxUtils::span< const container_value_type > const_span
element_type & reference_type
Reference types returned by aux data accessors.
T element_type
The type the user sees.
typename vector_type::const_pointer const_container_pointer_type
const element_type & const_reference_type
Manage lookup of vectors of auxiliary data.
AuxVarFlags
Additional flags to qualify an auxiliary variable.
SG::auxid_t m_auxid
The cached auxid.
const_container_pointer_type getDataArray(const AuxVectorData &container) const
Get a pointer to the start of the auxiliary data array.
SG::Decorator< T, ALLOC > Decorator
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt.
SG::auxid_t auxid() const
Return the aux id for this variable.
void set(const ELT &e, const element_type &x) const
Set the variable for one element.
XAOD_AUXDATA_DEPRECATED bool isAvailable(const std::string &name, const std::string &clsname="") const
Check if an aux variable is available for reading.
reference_type operator()(const ELT &e) const
Fetch the variable for one element, as a non-const reference.
CxxUtils::transform_view_with_at< PackedLinkVector_span, ELSpanConverter > span
void const_container_pointer_type
container_pointer_type getDecorationArray(const AuxVectorData &container) const
Get a pointer to the start of the auxiliary data array.
elt_span reference_type
Type referencing an item.
const SG::AuxVectorData * container() const
Return the container holding this element.
CxxUtils::transform_view_with_at< const_PackedLinkVector_span, ConstVectorTransform_t > const_span
Helper class to provide constant type-safe access to aux data, specialized for a vector of PackedLink...
XAOD_AUXDATA_DEPRECATED bool isAvailableWritable(const std::string &name, const std::string &clsname="")
Check if an aux variable is available for writing.
const_span getDataSpan(const AuxVectorData &container) const
Get a span over the auxiliary data array.
elt_span element_type
Type the user sees.
span getDecorationSpan(const AuxVectorData &container) const
Get a span over the auxiliary data array.
void container_pointer_type
Not supported.
size_t auxid_t
Identifier for a particular aux data item.