ATLAS Offline Software
Classes | Namespaces | Macros | Typedefs
ELProxy.h File Reference

Helpers for proxying ElementLink for PackedLink accessors. More...

#include "AthContainers/AuxVectorData.h"
#include "AthContainers/tools/PackedLinkVectorFactory.h"
#include "AthContainers/tools/PackedLinkConversions.h"
#include "AthContainers/tools/AuxDataTraits.h"
#include "AthLinks/DataLink.h"
#include "AthLinks/ElementLink.h"
#include "CxxUtils/range_with_at.h"
#include "CxxUtils/checker_macros.h"
#include <functional>
#include <ranges>
#include <concepts>
#include <vector>
#include "AthContainers/tools/ELProxy.icc"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SG::detail::ELProxyValBase< CONT >
 Base class for ELProxyT, with the converter held by value. More...
 
class  SG::detail::ELProxyRefBase< CONT >
 Base class for ELProxyT, with the converter held by reference. More...
 
class  SG::detail::ELProxyT< BASE >
 Proxy for ElementLink. More...
 
class  SG::detail::ELProxyConverter< PROXY >
 Extend PackedLinkConverter with a (non-const) conversion from PackedLink to a proxy object. More...
 
class  SG::detail::ELSpanProxy< CONT, PLINK_ALLOC >
 Proxy for a span of ElementLinks. More...
 
class  SG::detail::ELSpanConverter< CONT, PLINK_ALLOC >
 Converter from a vector of PackedLink to a range of ElementLink proxies. More...
 

Namespaces

 SG
 Forward declaration.
 
 SG::detail
 

Macros

#define ELPROXY(M)   auto M() const { return this->m_cnv (m_pl).M(); }
 

Typedefs

template<class CONT >
using SG::detail::ELProxyInSpan = detail::ELProxyT< detail::ELProxyRefBase< CONT > >
 Proxy holding the converter by reference — meant to be used when we have a proxy as a member of a span. More...
 
template<class CONT >
using SG::detail::ELProxyInSpanConverter = detail::ELProxyConverter< detail::ELProxyInSpan< CONT > >
 Converter producing a proxy — meant to be used when we have a proxy as a member of a span. More...
 
template<class CONT , class PLINK_ALLOC >
using SG::detail::PackedLink_span = typename AuxDataTraits< PackedLink< CONT >, PLINK_ALLOC >::span
 A span over PackedLink. More...
 
template<class CONT , class PLINK_ALLOC >
using SG::detail::ELSpanProxyBase = CxxUtils::transform_view_with_at< PackedLink_span< CONT, PLINK_ALLOC >, std::reference_wrapper< detail::ELProxyInSpanConverter< CONT > > >
 A range transforming a span over PackedLink to ElementLink proxies. More...
 

Detailed Description

Helpers for proxying ElementLink for PackedLink accessors.

Author
scott snyder snyde.nosp@m.r@bn.nosp@m.l.gov
Date
Jan, 2024

Definition in file ELProxy.h.

Macro Definition Documentation

◆ ELPROXY

#define ELPROXY (   M)    auto M() const { return this->m_cnv (m_pl).M(); }

Definition at line 202 of file ELProxy.h.