Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly > Class Template Reference

Helper iterator to allow iteration over tracks via track proxies. More...

#include <acts/blob/sPHENIX/Core/include/Acts/EventData/TrackProxy.hpp>

+ Collaboration diagram for Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >:

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = ProxyType
 
using difference_type = std::ptrdiff_t
 
using pointer = void
 
using reference = void
 

Public Member Functions

template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
 TrackProxyIterator (container_t &container, IndexType itrack)
 
template<bool RO = ReadOnly, typename = std::enable_if_t<RO>>
 TrackProxyIterator (const container_t &container, IndexType itrack)
 
TrackProxyIteratoroperator++ ()
 
TrackProxyIteratoroperator-- ()
 
bool operator== (const TrackProxyIterator &other) const
 
bool operator!= (const TrackProxyIterator &other) const
 
bool operator< (const TrackProxyIterator &other) const
 
bool operator> (const TrackProxyIterator &other) const
 
bool operator<= (const TrackProxyIterator &other) const
 
bool operator>= (const TrackProxyIterator &other) const
 
ProxyType operator* () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
ProxyType operator* ()
 
TrackProxyIterator operator[] (difference_type n) const
 
TrackProxyIteratoroperator+= (difference_type n)
 
TrackProxyIterator operator-= (difference_type n)
 

Private Types

using ProxyType = proxy_t
 
using IndexType = typename ProxyType::IndexType
 
using ContainerType = container_t
 

Private Attributes

detail_lt::TransitiveConstPointer
< ConstIf< ContainerType,
ReadOnly > > 
m_container
 
IndexType m_itrack
 

Friends

difference_type operator- (const TrackProxyIterator &lhs, const TrackProxyIterator &rhs)
 
TrackProxyIterator operator+ (const TrackProxyIterator &lhs, difference_type rhs)
 
TrackProxyIterator operator+ (difference_type lhs, const TrackProxyIterator &rhs)
 
TrackProxyIterator operator- (const TrackProxyIterator &lhs, difference_type rhs)
 
TrackProxyIterator operator- (difference_type lhs, const TrackProxyIterator &rhs)
 

Detailed Description

template<typename container_t, typename proxy_t, bool ReadOnly>
class Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >

Helper iterator to allow iteration over tracks via track proxies.

Definition at line 34 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 34 of file TrackProxy.hpp

Member Typedef Documentation

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::ContainerType = container_t
private

Definition at line 37 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 37 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::difference_type = std::ptrdiff_t

Definition at line 42 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 42 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::IndexType = typename ProxyType::IndexType
private

Definition at line 36 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 36 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::iterator_category = std::random_access_iterator_tag

Definition at line 40 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 40 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::pointer = void

Definition at line 43 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 43 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::ProxyType = proxy_t
private

Definition at line 35 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 35 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::reference = void

Definition at line 44 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 44 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
using Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::value_type = ProxyType

Definition at line 41 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 41 of file TrackProxy.hpp

Constructor & Destructor Documentation

template<typename container_t , typename proxy_t , bool ReadOnly>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::TrackProxyIterator ( container_t &  container,
IndexType  itrack 
)
inline

Definition at line 47 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 47 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
template<bool RO = ReadOnly, typename = std::enable_if_t<RO>>
Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::TrackProxyIterator ( const container_t &  container,
IndexType  itrack 
)
inline

Definition at line 51 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 51 of file TrackProxy.hpp

Member Function Documentation

template<typename container_t , typename proxy_t , bool ReadOnly>
bool Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator!= ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  other) const
inline

Definition at line 67 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 67 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
ProxyType Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator* ( ) const
inline

Definition at line 87 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 87 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
ProxyType Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator* ( )
inline

Definition at line 90 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 90 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator& Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator++ ( )
inline

Definition at line 54 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 54 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator& Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator+= ( difference_type  n)
inline

Definition at line 100 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 100 of file TrackProxy.hpp

References n.

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator& Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator-- ( )
inline

Definition at line 58 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 58 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator-= ( difference_type  n)
inline

Definition at line 105 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 105 of file TrackProxy.hpp

References n.

template<typename container_t , typename proxy_t , bool ReadOnly>
bool Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator< ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  other) const
inline

Definition at line 71 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 71 of file TrackProxy.hpp

References Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::m_itrack.

template<typename container_t , typename proxy_t , bool ReadOnly>
bool Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator<= ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  other) const
inline

Definition at line 79 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 79 of file TrackProxy.hpp

References Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::m_itrack.

template<typename container_t , typename proxy_t , bool ReadOnly>
bool Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator== ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  other) const
inline
template<typename container_t , typename proxy_t , bool ReadOnly>
bool Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator> ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  other) const
inline

Definition at line 75 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 75 of file TrackProxy.hpp

References Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::m_itrack.

template<typename container_t , typename proxy_t , bool ReadOnly>
bool Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator>= ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  other) const
inline

Definition at line 83 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 83 of file TrackProxy.hpp

References Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::m_itrack.

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator[] ( difference_type  n) const
inline

Definition at line 94 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 94 of file TrackProxy.hpp

References n.

Friends And Related Function Documentation

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator operator+ ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  lhs,
difference_type  rhs 
)
friend

Definition at line 115 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 115 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator operator+ ( difference_type  lhs,
const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  rhs 
)
friend

Definition at line 122 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 122 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
difference_type operator- ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  lhs,
const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  rhs 
)
friend

Definition at line 110 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 110 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator operator- ( const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  lhs,
difference_type  rhs 
)
friend

Definition at line 127 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 127 of file TrackProxy.hpp

template<typename container_t , typename proxy_t , bool ReadOnly>
TrackProxyIterator operator- ( difference_type  lhs,
const TrackProxyIterator< container_t, proxy_t, ReadOnly > &  rhs 
)
friend

Definition at line 132 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 132 of file TrackProxy.hpp

Member Data Documentation

template<typename container_t , typename proxy_t , bool ReadOnly>
detail_lt::TransitiveConstPointer<ConstIf<ContainerType, ReadOnly> > Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::m_container
private

Definition at line 139 of file TrackProxy.hpp.

View newest version in sPHENIX GitHub at line 139 of file TrackProxy.hpp

Referenced by Acts::detail_tc::TrackProxyIterator< container_t, proxy_t, ReadOnly >::operator==().


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