CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Attributes
edm::PtrVectorItr< T > Class Template Reference

#include <PtrVector.h>

Inheritance diagram for edm::PtrVectorItr< T >:

Public Types

typedef std::iterator
< std::random_access_iterator_tag,
Ptr< T > >::difference_type 
difference_type
 
typedef PtrVectorItr< Titerator
 
typedef Ptr< T > const reference
 

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

template<typename T >
typedef std::iterator<std::random_access_iterator_tag, Ptr<T> >::difference_type edm::PtrVectorItr< T >::difference_type

Definition at line 56 of file PtrVector.h.

template<typename T >
typedef PtrVectorItr<T> edm::PtrVectorItr< T >::iterator

Definition at line 55 of file PtrVector.h.

template<typename T >
typedef Ptr<T> const edm::PtrVectorItr< T >::reference

Definition at line 53 of file PtrVector.h.

Constructor & Destructor Documentation

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

Definition at line 58 of file PtrVector.h.

59  : iter_(iItr), base_(iBase) {}
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
PtrVector< T > const * base_
Definition: PtrVector.h:118

Member Function Documentation

template<typename T >
bool 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:117
template<typename T >
Ptr<T> const edm::PtrVectorItr< T >::operator* ( ) const
inline

Definition at line 61 of file PtrVector.h.

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

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

61 { return base_->fromItr(iter_); }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
PtrVector< T > const * base_
Definition: PtrVector.h:118
template<typename T >
iterator edm::PtrVectorItr< T >::operator+ ( difference_type  n) const
inline

Definition at line 96 of file PtrVector.h.

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

96  {
97  iterator it(*this);
98  it.iter_ += n;
99  return it;
100  }
PtrVectorItr< T > iterator
Definition: PtrVector.h:55
template<typename T >
iterator& edm::PtrVectorItr< T >::operator++ ( )
inline

Definition at line 69 of file PtrVector.h.

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

69  {
70  ++iter_;
71  return *this;
72  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
template<typename T >
iterator edm::PtrVectorItr< T >::operator++ ( int  )
inline

Definition at line 86 of file PtrVector.h.

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

86  {
87  iterator it(*this);
88  ++iter_;
89  return it;
90  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
PtrVectorItr< T > iterator
Definition: PtrVector.h:55
template<typename T >
iterator& edm::PtrVectorItr< T >::operator+= ( difference_type  n)
inline

Definition at line 77 of file PtrVector.h.

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

77  {
78  iter_ += n;
79  return *this;
80  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
template<typename T >
iterator edm::PtrVectorItr< T >::operator- ( difference_type  n) const
inline

Definition at line 101 of file PtrVector.h.

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

101  {
102  iterator it(*this);
103  it.iter_ -= n;
104  return it;
105  }
PtrVectorItr< T > iterator
Definition: PtrVector.h:55
template<typename T >
difference_type edm::PtrVectorItr< T >::operator- ( iterator const &  rhs) const
inline

Definition at line 107 of file PtrVector.h.

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

107 { return this->iter_ - rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
template<typename T >
iterator& edm::PtrVectorItr< T >::operator-- ( )
inline

Definition at line 73 of file PtrVector.h.

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

73  {
74  --iter_;
75  return *this;
76  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
template<typename T >
iterator edm::PtrVectorItr< T >::operator-- ( int  )
inline

Definition at line 91 of file PtrVector.h.

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

91  {
92  iterator it(*this);
93  --iter_;
94  return it;
95  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
PtrVectorItr< T > iterator
Definition: PtrVector.h:55
template<typename T >
iterator& edm::PtrVectorItr< T >::operator-= ( difference_type  n)
inline

Definition at line 81 of file PtrVector.h.

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

81  {
82  iter_ -= n;
83  return *this;
84  }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
template<typename T >
PtrHolder<T> edm::PtrVectorItr< T >::operator-> ( ) const
inline

Definition at line 67 of file PtrVector.h.

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

67 { return PtrHolder<T>(this->operator*()); }
Ptr< T > const operator*() const
Definition: PtrVector.h:61
template<typename T >
bool edm::PtrVectorItr< T >::operator< ( iterator const &  rhs) const
inline

Definition at line 111 of file PtrVector.h.

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

111 { return this->iter_ < rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
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:117
template<typename T >
bool edm::PtrVectorItr< T >::operator== ( iterator const &  rhs) const
inline

Definition at line 109 of file PtrVector.h.

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

109 { return this->iter_ == rhs.iter_; }
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
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:117
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:117
template<typename T >
Ptr<T> const edm::PtrVectorItr< T >::operator[] ( difference_type  n) const
inline

Definition at line 63 of file PtrVector.h.

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

63  { // Otherwise the
64  return base_->fromItr(iter_ + n); // boost::range
65  } // doesn't have []
std::vector< void const * >::const_iterator iter_
Definition: PtrVector.h:117
PtrVector< T > const * base_
Definition: PtrVector.h:118

Member Data Documentation

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