CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
edm::PtrVectorItr< T > Class Template Reference

#include <PtrVector.h>

Public Types

using difference_type = std::ptrdiff_t
 
using iterator = PtrVectorItr< T >
 
using iterator_category = std::random_access_iterator_tag
 
using pointer = Ptr< T > *
 
using reference = Ptr< T > const
 
using value_type = Ptr< T >
 

Public Member Functions

bool operator!= (iterator const &rhs) const
 
Ptr< T > const operator* () const
 
iterator operator+ (difference_type n) const
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator+= (difference_type n)
 
iterator operator- (difference_type n) const
 
difference_type operator- (iterator const &rhs) const
 
iteratoroperator-- ()
 
iterator operator-- (int)
 
iteratoroperator-= (difference_type n)
 
PtrHolder< Toperator-> () const
 
bool operator< (iterator const &rhs) const
 
bool operator<= (iterator const &rhs) const
 
bool operator== (iterator const &rhs) const
 
bool operator> (iterator const &rhs) const
 
bool operator>= (iterator const &rhs) const
 
Ptr< T > const operator[] (difference_type n) const
 
 PtrVectorItr (std::vector< void const *>::const_iterator const &iItr, PtrVector< T > const *iBase)
 

Private Attributes

PtrVector< T > const * base_
 
std::vector< void const * >::const_iterator iter_
 

Detailed Description

template<typename T>
class edm::PtrVectorItr< T >

Definition at line 51 of file PtrVector.h.

Member Typedef Documentation

◆ difference_type

template<typename T >
using edm::PtrVectorItr< T >::difference_type = std::ptrdiff_t

Definition at line 59 of file PtrVector.h.

◆ iterator

template<typename T >
using edm::PtrVectorItr< T >::iterator = PtrVectorItr<T>

Definition at line 58 of file PtrVector.h.

◆ iterator_category

template<typename T >
using edm::PtrVectorItr< T >::iterator_category = std::random_access_iterator_tag

Definition at line 53 of file PtrVector.h.

◆ pointer

template<typename T >
using edm::PtrVectorItr< T >::pointer = Ptr<T>*

Definition at line 55 of file PtrVector.h.

◆ reference

template<typename T >
using edm::PtrVectorItr< T >::reference = Ptr<T> const

Definition at line 56 of file PtrVector.h.

◆ value_type

template<typename T >
using edm::PtrVectorItr< T >::value_type = Ptr<T>

Definition at line 54 of file PtrVector.h.

Constructor & Destructor Documentation

◆ PtrVectorItr()

template<typename T >
edm::PtrVectorItr< T >::PtrVectorItr ( std::vector< void const *>::const_iterator const &  iItr,
PtrVector< T > const *  iBase 
)
inline

Definition at line 61 of file PtrVector.h.

62  : iter_(iItr), base_(iBase) {}
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120
PtrVector< T > const * base_
Definition: PtrVector.h:121

Member Function Documentation

◆ operator!=()

template<typename T >
bool edm::PtrVectorItr< T >::operator!= ( iterator const &  rhs) const
inline

Definition at line 113 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

113 { return this->iter_ != rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator*()

template<typename T >
Ptr<T> const edm::PtrVectorItr< T >::operator* ( ) const
inline

Definition at line 64 of file PtrVector.h.

References edm::PtrVectorItr< T >::base_, and edm::PtrVectorItr< T >::iter_.

Referenced by edm::PtrVectorItr< T >::operator->().

64 { return base_->fromItr(iter_); }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120
PtrVector< T > const * base_
Definition: PtrVector.h:121

◆ operator+()

template<typename T >
iterator edm::PtrVectorItr< T >::operator+ ( difference_type  n) const
inline

Definition at line 99 of file PtrVector.h.

References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and create_idmaps::n.

99  {
100  iterator it(*this);
101  it.iter_ += n;
102  return it;
103  }
PtrVectorItr< T > iterator
Definition: PtrVector.h:58

◆ operator++() [1/2]

template<typename T >
iterator& edm::PtrVectorItr< T >::operator++ ( )
inline

Definition at line 72 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

72  {
73  ++iter_;
74  return *this;
75  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator++() [2/2]

template<typename T >
iterator edm::PtrVectorItr< T >::operator++ ( int  )
inline

Definition at line 89 of file PtrVector.h.

References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and edm::PtrVectorItr< T >::iter_.

89  {
90  iterator it(*this);
91  ++iter_;
92  return it;
93  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120
PtrVectorItr< T > iterator
Definition: PtrVector.h:58

◆ operator+=()

template<typename T >
iterator& edm::PtrVectorItr< T >::operator+= ( difference_type  n)
inline

Definition at line 80 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_, and create_idmaps::n.

80  {
81  iter_ += n;
82  return *this;
83  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator-() [1/2]

template<typename T >
iterator edm::PtrVectorItr< T >::operator- ( difference_type  n) const
inline

Definition at line 104 of file PtrVector.h.

References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and create_idmaps::n.

104  {
105  iterator it(*this);
106  it.iter_ -= n;
107  return it;
108  }
PtrVectorItr< T > iterator
Definition: PtrVector.h:58

◆ operator-() [2/2]

template<typename T >
difference_type edm::PtrVectorItr< T >::operator- ( iterator const &  rhs) const
inline

Definition at line 110 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

110 { return this->iter_ - rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator--() [1/2]

template<typename T >
iterator& edm::PtrVectorItr< T >::operator-- ( )
inline

Definition at line 76 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

76  {
77  --iter_;
78  return *this;
79  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator--() [2/2]

template<typename T >
iterator edm::PtrVectorItr< T >::operator-- ( int  )
inline

Definition at line 94 of file PtrVector.h.

References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, and edm::PtrVectorItr< T >::iter_.

94  {
95  iterator it(*this);
96  --iter_;
97  return it;
98  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120
PtrVectorItr< T > iterator
Definition: PtrVector.h:58

◆ operator-=()

template<typename T >
iterator& edm::PtrVectorItr< T >::operator-= ( difference_type  n)
inline

Definition at line 84 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_, and create_idmaps::n.

84  {
85  iter_ -= n;
86  return *this;
87  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator->()

template<typename T >
PtrHolder<T> edm::PtrVectorItr< T >::operator-> ( ) const
inline

Definition at line 70 of file PtrVector.h.

References edm::PtrVectorItr< T >::operator*().

70 { return PtrHolder<T>(this->operator*()); }
Ptr< T > const operator*() const
Definition: PtrVector.h:64

◆ operator<()

template<typename T >
bool edm::PtrVectorItr< T >::operator< ( iterator const &  rhs) const
inline

Definition at line 114 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

114 { return this->iter_ < rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator<=()

template<typename T >
bool edm::PtrVectorItr< T >::operator<= ( iterator const &  rhs) const
inline

Definition at line 116 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

116 { return this->iter_ <= rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator==()

template<typename T >
bool edm::PtrVectorItr< T >::operator== ( iterator const &  rhs) const
inline

Definition at line 112 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

112 { return this->iter_ == rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator>()

template<typename T >
bool edm::PtrVectorItr< T >::operator> ( iterator const &  rhs) const
inline

Definition at line 115 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

115 { return this->iter_ > rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator>=()

template<typename T >
bool edm::PtrVectorItr< T >::operator>= ( iterator const &  rhs) const
inline

Definition at line 117 of file PtrVector.h.

References edm::PtrVectorItr< T >::iter_.

117 { return this->iter_ >= rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120

◆ operator[]()

template<typename T >
Ptr<T> const edm::PtrVectorItr< T >::operator[] ( difference_type  n) const
inline

Definition at line 66 of file PtrVector.h.

References edm::PtrVectorItr< T >::base_, edm::PtrVectorItr< T >::iter_, and create_idmaps::n.

66  { // Otherwise the
67  return base_->fromItr(iter_ + n); // boost::range
68  } // doesn't have []
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:120
PtrVector< T > const * base_
Definition: PtrVector.h:121

Member Data Documentation

◆ base_

template<typename T >
PtrVector<T> const* edm::PtrVectorItr< T >::base_
private

◆ iter_

template<typename T >
std::vector<void const*>::const_iterator edm::PtrVectorItr< T >::iter_
private