ATLAS Offline Software
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
SG::detail::ELProxyConverter< PROXY > Class Template Reference

Extend PackedLinkConverter with a (non-const) conversion from PackedLink to a proxy object. More...

#include <ELProxy.h>

Inheritance diagram for SG::detail::ELProxyConverter< PROXY >:
Collaboration diagram for SG::detail::ELProxyConverter< PROXY >:

Public Types

using Base = detail::PackedLinkConverter< typename PROXY::Cont_t >
 
using Link_t = typename PROXY::Link_t
 
using PLink_t = typename PROXY::PLink_t
 
using value_type = typename PROXY::Link_t
 
using DLink_t = typename PLVH::DLink_t
 The linked DataLink type. More...
 
using DataLinkBase_span = typename PLVH::DataLinkBase_span
 Type of span over DataLinkBase's. More...
 

Public Member Functions

 ELProxyConverter (const Base &cnv)
 Constructor. More...
 
 ELProxyConverter (AuxVectorData &container, SG::auxid_t auxid, SG::auxid_t linked_auxid)
 Constructor. More...
 
PROXY operator() (PLink_t &pl)
 Produce a proxy object for a given PackedLink. More...
 
const value_type operator() (const PackedLinkBase &plink) const
 Convert a PackedLink to an ElementLink. More...
 
void set (PackedLinkBase &pl, const value_type &link)
 Convert an ElementLink to a PackedLink. More...
 
void set (std::vector< PLink_t, VALLOC > &plv, const RANGE &r)
 Convert a range of ElementLinks to a vector of PackedLinks. More...
 
void insert (std::vector< PLink_t, VALLOC > &plv, size_t pos, const RANGE &r)
 Insert a range of ElementLinks into a vector of PackedLinks. More...
 

Private Types

using PLVH = detail::PackedLinkVectorHelper< PROXY::Cont_t >
 Helper class for maintaining the DataLinks. More...
 

Private Attributes

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

Detailed Description

template<class PROXY>
class SG::detail::ELProxyConverter< PROXY >

Extend PackedLinkConverter with a (non-const) conversion from PackedLink to a proxy object.

Definition at line 244 of file ELProxy.h.

Member Typedef Documentation

◆ Base

template<class PROXY >
using SG::detail::ELProxyConverter< PROXY >::Base = detail::PackedLinkConverter<typename PROXY::Cont_t>

Definition at line 248 of file ELProxy.h.

◆ DataLinkBase_span

using SG::detail::PackedLinkConverter< PROXY::Cont_t >::DataLinkBase_span = typename PLVH::DataLinkBase_span
inherited

Type of span over DataLinkBase's.

Definition at line 137 of file PackedLinkConversions.h.

◆ DLink_t

using SG::detail::PackedLinkConverter< PROXY::Cont_t >::DLink_t = typename PLVH::DLink_t
inherited

The linked DataLink type.

Definition at line 134 of file PackedLinkConversions.h.

◆ Link_t

template<class PROXY >
using SG::detail::ELProxyConverter< PROXY >::Link_t = typename PROXY::Link_t

Definition at line 249 of file ELProxy.h.

◆ PLink_t

template<class PROXY >
using SG::detail::ELProxyConverter< PROXY >::PLink_t = typename PROXY::PLink_t

Definition at line 250 of file ELProxy.h.

◆ PLVH

using SG::detail::PackedLinkConverter< PROXY::Cont_t >::PLVH = detail::PackedLinkVectorHelper<PROXY::Cont_t >
privateinherited

Helper class for maintaining the DataLinks.

Definition at line 123 of file PackedLinkConversions.h.

◆ value_type

template<class PROXY >
using SG::detail::ELProxyConverter< PROXY >::value_type = typename PROXY::Link_t

Definition at line 251 of file ELProxy.h.

Constructor & Destructor Documentation

◆ ELProxyConverter() [1/2]

template<class PROXY >
SG::detail::ELProxyConverter< PROXY >::ELProxyConverter ( const Base cnv)

Constructor.

Parameters
cnvConverter. We'll make a copy of this.

◆ ELProxyConverter() [2/2]

template<class PROXY >
SG::detail::ELProxyConverter< PROXY >::ELProxyConverter ( 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 DataLinks.

Member Function Documentation

◆ insert()

void SG::detail::PackedLinkConverter< PROXY::Cont_t >::insert ( std::vector< PLink_t, VALLOC > &  plv,
size_t  pos,
const RANGE &  r 
)
inherited

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()() [1/2]

const value_type SG::detail::PackedLinkConverter< PROXY::Cont_t >::operator() ( const PackedLinkBase plink) const
inherited

Convert a PackedLink to an ElementLink.

Parameters
plinkThe link to transform.

◆ operator()() [2/2]

template<class PROXY >
PROXY SG::detail::ELProxyConverter< PROXY >::operator() ( PLink_t pl)

Produce a proxy object for a given PackedLink.

Parameters
plThe PackedLink object to proxy.

◆ set() [1/2]

void SG::detail::PackedLinkConverter< PROXY::Cont_t >::set ( PackedLinkBase pl,
const value_type link 
)
inherited

Convert an ElementLink to a PackedLink.

Parameters
plThe destination PackedLink.
linkThe link to transform.

◆ set() [2/2]

void SG::detail::PackedLinkConverter< PROXY::Cont_t >::set ( std::vector< PLink_t, VALLOC > &  plv,
const RANGE &  r 
)
inherited

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

AuxVectorData& SG::detail::PackedLinkConverter< PROXY::Cont_t >::m_container
privateinherited

The container holding the variables.

Definition at line 187 of file PackedLinkConversions.h.

◆ m_dlinks

DataLinkBase_span SG::detail::PackedLinkConverter< PROXY::Cont_t >::m_dlinks
privateinherited

Span over DataLinks.

Definition at line 193 of file PackedLinkConversions.h.

◆ m_linkedVec

PLVH::LinkedVector SG::detail::PackedLinkConverter< PROXY::Cont_t >::m_linkedVec
privateinherited

The vector of DataLinks.

Definition at line 190 of file PackedLinkConversions.h.


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