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

Helper: Convert a PackedLink to an ElementLink and vice-versa. More...

#include <PackedLinkConversions.h>

Inheritance diagram for SG::detail::PackedLinkConverter< CONT >:
Collaboration diagram for SG::detail::PackedLinkConverter< CONT >:

Public Types

using value_type = typename PLVH::Link_t
 Resulting ElementLink type.
using PLink_t = typename PLVH::PLink_t
 The PackedLink type.
using DLink_t = typename PLVH::DLink_t
 The linked DataLink type.
using DataLinkBase_span = typename PLVH::DataLinkBase_span
 Type of span over DataLinkBase's.

Public Member Functions

 PackedLinkConverter (AuxVectorData &container, SG::auxid_t auxid, SG::auxid_t linked_auxid)
 Constructor.
const value_type operator() (const PackedLinkBase &plink) const
 Convert a PackedLink to an ElementLink.
void set (PackedLinkBase &pl, const value_type &link)
 Convert an ElementLink to a PackedLink.
template<class VALLOC, ElementLinkRange< CONT > RANGE>
void set (std::vector< PLink_t, VALLOC > &plv, const RANGE &r)
 Convert a range of ElementLinks to a vector of PackedLinks.
template<class VALLOC, ElementLinkRange< CONT > RANGE>
void insert (std::vector< PLink_t, VALLOC > &plv, size_t pos, const RANGE &r)
 Insert a range of ElementLinks into a vector of PackedLinks.

Private Types

using PLVH = detail::PackedLinkVectorHelper<CONT>
 Helper class for maintaining the DataLinks.

Private Attributes

AuxVectorDatam_container
 The container holding the variables.
PLVH::LinkedVector m_linkedVec
 The vector of DataLinks.
DataLinkBase_span m_dlinks
 Span over DataLinks.

Detailed Description

template<class CONT>
class SG::detail::PackedLinkConverter< CONT >

Helper: Convert a PackedLink to an ElementLink and vice-versa.

Definition at line 119 of file PackedLinkConversions.h.

Member Typedef Documentation

◆ DataLinkBase_span

template<class CONT>
using SG::detail::PackedLinkConverter< CONT >::DataLinkBase_span = typename PLVH::DataLinkBase_span

Type of span over DataLinkBase's.

Definition at line 137 of file PackedLinkConversions.h.

◆ DLink_t

template<class CONT>
using SG::detail::PackedLinkConverter< CONT >::DLink_t = typename PLVH::DLink_t

The linked DataLink type.

Definition at line 134 of file PackedLinkConversions.h.

◆ PLink_t

template<class CONT>
using SG::detail::PackedLinkConverter< CONT >::PLink_t = typename PLVH::PLink_t

The PackedLink type.

Definition at line 131 of file PackedLinkConversions.h.

◆ PLVH

template<class CONT>
using SG::detail::PackedLinkConverter< CONT >::PLVH = detail::PackedLinkVectorHelper<CONT>
private

Helper class for maintaining the DataLinks.

Definition at line 123 of file PackedLinkConversions.h.

◆ value_type

template<class CONT>
using SG::detail::PackedLinkConverter< CONT >::value_type = typename PLVH::Link_t

Resulting ElementLink type.

Definition at line 128 of file PackedLinkConversions.h.

Constructor & Destructor Documentation

◆ PackedLinkConverter()

template<class CONT>
SG::detail::PackedLinkConverter< CONT >::PackedLinkConverter ( AuxVectorData & container,
SG::auxid_t auxid,
SG::auxid_t linked_auxid )

Constructor.

Parameters
containerContainer holding the variables.
auxidThe ID of the PackedLink variable.
linked_auxidThe ID of the linked variable of DataLinks.

Member Function Documentation

◆ insert()

template<class CONT>
template<class VALLOC, ElementLinkRange< CONT > RANGE>
void SG::detail::PackedLinkConverter< CONT >::insert ( std::vector< PLink_t, VALLOC > & plv,
size_t pos,
const RANGE & r )

Insert a range of ElementLinks into a vector of PackedLinks.

Parameters
plvThe destination vector of PackedLinks.
posPosition in the container at which to insert the range.
rThe range of ElementLinks.

◆ operator()()

template<class CONT>
const value_type SG::detail::PackedLinkConverter< CONT >::operator() ( const PackedLinkBase & plink) const

Convert a PackedLink to an ElementLink.

Parameters
plinkThe link to transform.

◆ set() [1/2]

template<class CONT>
void SG::detail::PackedLinkConverter< CONT >::set ( PackedLinkBase & pl,
const value_type & link )

Convert an ElementLink to a PackedLink.

Parameters
plThe destination PackedLink.
linkThe link to transform.

◆ set() [2/2]

template<class CONT>
template<class VALLOC, ElementLinkRange< CONT > RANGE>
void SG::detail::PackedLinkConverter< CONT >::set ( std::vector< PLink_t, VALLOC > & plv,
const RANGE & r )

Convert a range of ElementLinks to a vector of PackedLinks.

Parameters
plvThe destination vector of PackedLinks.
rThe range of ElementLinks.

Member Data Documentation

◆ m_container

template<class CONT>
AuxVectorData& SG::detail::PackedLinkConverter< CONT >::m_container
private

The container holding the variables.

Definition at line 187 of file PackedLinkConversions.h.

◆ m_dlinks

template<class CONT>
DataLinkBase_span SG::detail::PackedLinkConverter< CONT >::m_dlinks
private

Span over DataLinks.

Definition at line 193 of file PackedLinkConversions.h.

◆ m_linkedVec

template<class CONT>
PLVH::LinkedVector SG::detail::PackedLinkConverter< CONT >::m_linkedVec
private

The vector of DataLinks.

Definition at line 190 of file PackedLinkConversions.h.


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