ATLAS Offline Software
Loading...
Searching...
No Matches
SG::detail::JaggedVecConstConverter< PAYLOAD_T > Class Template Reference

Helper: Make a span from a jagged vector element. More...

#include <JaggedVecConversions.h>

Collaboration diagram for SG::detail::JaggedVecConstConverter< PAYLOAD_T >:

Public Types

using Payload_t = PAYLOAD_T
 The type of the jagged vector payload.
using const_Payload_span = detail::AuxDataConstSpan<Payload_t>
 An AuxDataSpan representing the payload vector.
using element_type = CxxUtils::range_with_conv<typename AuxDataTraits<Payload_t>::const_span>
 The type of the span we produce.

Public Member Functions

 JaggedVecConstConverter (const JaggedVecEltBase *elts, const_Payload_span payload)
 Constructor.
const element_type operator() (const JaggedVecEltBase &elt) const
 Convert to a span.

Private Attributes

const JaggedVecEltBasem_elts
 The vector of elements.
const_Payload_span m_payload
 The span over the payload vector.

Detailed Description

template<class PAYLOAD_T>
class SG::detail::JaggedVecConstConverter< PAYLOAD_T >

Helper: Make a span from a jagged vector element.

An instance of this class is constructed from an AuxDataSpan over the payload vector. (This has a reference to the range held by the AuxTypeVector, so if the payload vector changes, we'll see it here.) operator() then takes a JaggedVecElt and produces a span representing that element.

Definition at line 47 of file JaggedVecConversions.h.

Member Typedef Documentation

◆ const_Payload_span

template<class PAYLOAD_T>
using SG::detail::JaggedVecConstConverter< PAYLOAD_T >::const_Payload_span = detail::AuxDataConstSpan<Payload_t>

An AuxDataSpan representing the payload vector.

Definition at line 54 of file JaggedVecConversions.h.

◆ element_type

template<class PAYLOAD_T>
using SG::detail::JaggedVecConstConverter< PAYLOAD_T >::element_type = CxxUtils::range_with_conv<typename AuxDataTraits<Payload_t>::const_span>

The type of the span we produce.

Definition at line 57 of file JaggedVecConversions.h.

◆ Payload_t

template<class PAYLOAD_T>
using SG::detail::JaggedVecConstConverter< PAYLOAD_T >::Payload_t = PAYLOAD_T

The type of the jagged vector payload.

Definition at line 51 of file JaggedVecConversions.h.

Constructor & Destructor Documentation

◆ JaggedVecConstConverter()

template<class PAYLOAD_T>
SG::detail::JaggedVecConstConverter< PAYLOAD_T >::JaggedVecConstConverter ( const JaggedVecEltBase * elts,
const_Payload_span payload )

Constructor.

Parameters
eltsStart of the element vector.
payloadSpan over the payload vector.

Member Function Documentation

◆ operator()()

template<class PAYLOAD_T>
const element_type SG::detail::JaggedVecConstConverter< PAYLOAD_T >::operator() ( const JaggedVecEltBase & elt) const

Convert to a span.

Parameters
eltThe jagged vector element to transform.

Member Data Documentation

◆ m_elts

template<class PAYLOAD_T>
const JaggedVecEltBase* SG::detail::JaggedVecConstConverter< PAYLOAD_T >::m_elts
private

The vector of elements.

Definition at line 78 of file JaggedVecConversions.h.

◆ m_payload

template<class PAYLOAD_T>
const_Payload_span SG::detail::JaggedVecConstConverter< PAYLOAD_T >::m_payload
private

The span over the payload vector.

Definition at line 81 of file JaggedVecConversions.h.


The documentation for this class was generated from the following file: