ATLAS Offline Software
Loading...
Searching...
No Matches
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
 The linked DataLink type.
using DataLinkBase_span
 Type of span over DataLinkBase's.

Public Member Functions

 ELProxyConverter (const Base &cnv)
 Constructor.
 ELProxyConverter (AuxVectorData &container, SG::auxid_t auxid, SG::auxid_t linked_auxid)
 Constructor.
PROXY operator() (PLink_t &pl)
 Produce a proxy object for a given PackedLink.
const value_type operator() (const PackedLinkBase &plink) const
 Take const conversion from the base class.
void set (PackedLinkBase &pl, const value_type &link)
 Convert an ElementLink to a PackedLink.
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
 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 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
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
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
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]

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

Take const conversion from the base class.

◆ 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()

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.

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: