13#ifndef ATHCONTAINERS_PACKEDLINKCONVERSIONS_H
14#define ATHCONTAINERS_PACKEDLINKCONVERSIONS_H
21#include "AthLinks/ElementLink.h"
22#include "AthLinks/DataLink.h"
105 template <
class VALLOC>
171 template <
class VALLOC, ElementLinkRange<CONT> RANGE>
172 void set (std::vector<PLink_t, VALLOC>& plv,
const RANGE&
r);
181 template <
class VALLOC, ElementLinkRange<CONT> RANGE>
182 void insert (std::vector<PLink_t, VALLOC>& plv,
size_t pos,
const RANGE&
r);
Allow customizing how aux data types are treated.
Manage lookup of vectors of auxiliary data.
Definition of PackedLink type.
Helper functions for managing PackedLink variables.
Add to a range class conversions to containers.
ElementLink implementation for ROOT usage.
Allow customizing how aux data types are treated.
Manage lookup of vectors of auxiliary data.
Helper: Convert a PackedLink to an ElementLink.
typename PLVH::const_DataLink_span const_DataLink_span
Type of span over DataLinks.
PackedLinkVectorHelper< CONT > PLVH
PackedLinkConstConverter(const const_DataLink_span &dlinks)
Constructor.
ElementLink< CONT > value_type
Resulting ElementLink type.
const value_type operator()(const PackedLinkBase &plink) const
Convert a PackedLink to an ElementLink.
const_DataLink_span m_dlinks
Span over DataLinks.
typename PLVH::Link_t value_type
detail::PackedLinkVectorHelper< typename PROXY::Cont_t > PLVH
void insert(std::vector< PLink_t, VALLOC > &plv, size_t pos, const RANGE &r)
Insert a range of ElementLinks into a vector of PackedLinks.
PLVH::LinkedVector m_linkedVec
typename PLVH::PLink_t PLink_t
void set(PackedLinkBase &pl, const value_type &link)
Convert an ElementLink to a PackedLink.
AuxVectorData & m_container
DataLinkBase_span m_dlinks
typename PLVH::DataLinkBase_span DataLinkBase_span
void set(std::vector< PLink_t, VALLOC > &plv, const RANGE &r)
Convert a range of ElementLinks to a vector of PackedLinks.
const value_type operator()(const PackedLinkBase &plink) const
Convert a PackedLink to an ElementLink.
PackedLinkConverter(AuxVectorData &container, SG::auxid_t auxid, SG::auxid_t linked_auxid)
Constructor.
typename PLVH::DLink_t DLink_t
typename AuxDataTraits< PackedLink< CONT > >::const_span const_PackedLink_span
A span over the input PackedLink objects.
PackedLinkVectorConstConverter(const const_DataLink_span &dlinks)
Constructor.
CxxUtils::range_with_conv< CxxUtils::transform_view_with_at< const_PackedLink_span, detail::PackedLinkConstConverter< CONT > > > value_type
Transform the span of PackedLinks to a span of ElementLinks.
value_type operator()(const std::vector< PackedLink< CONT >, VALLOC > &velt) const
Convert a vector of PackedLinks to a span over ElementLinks.
typename PLVH::const_DataLink_span const_DataLink_span
Type of span over DataLinks.
const_DataLink_span m_dlinks
Span over DataLinks.
PackedLinkVectorHelper< CONT > PLVH
Helper to access the IAuxTypeVector for an aux variable.
detail::AuxDataSpan< DataLinkBase > DataLinkBase_span
Spans over the linked DataLinks.
Helper functions for managing PackedLink variables.
detail::AuxDataConstSpan< DataLink< CONT > > const_DataLink_span
ElementLink< CONT > Link_t
The (linked) data links.
PackedLink< CONT > PLink_t
The PackedLinks.
range_with_at< std::ranges::transform_view< SPAN, XFORM > > transform_view_with_at
Helper to add at() methods to a transform_view.
size_t auxid_t
Identifier for a particular aux data item.
Add at() methods to a range class.
Add to a range class conversions to containers.
A packed version of ElementLink.
A packed version of ElementLink.