CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::PtrVectorItr< T > Class Template Reference

#include <PtrVector.h>

List of all members.

Public Types

typedef std::iterator
< std::random_access_iterator_tag,
Ptr< T > >::difference_type 
difference_type
typedef PtrVectorItr< T > iterator
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
iterator operator++ (int)
iteratoroperator++ ()
iteratoroperator+= (difference_type n)
iterator operator- (difference_type n) const
difference_type operator- (iterator const &rhs) const
iterator operator-- (int)
iteratoroperator-- ()
iteratoroperator-= (difference_type n)
PtrHolder< T > operator-> () 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 49 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 54 of file PtrVector.h.

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

Definition at line 53 of file PtrVector.h.

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

Definition at line 51 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 56 of file PtrVector.h.

                                           :
    iter_(iItr),
    base_(iBase) {}

Member Function Documentation

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

Definition at line 87 of file PtrVector.h.

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

{return this->iter_ != rhs.iter_;}
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->().

                                   {
      return base_->fromItr(iter_);
    }
template<typename T >
iterator edm::PtrVectorItr< T >::operator+ ( difference_type  n) const [inline]

Definition at line 81 of file PtrVector.h.

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

{iterator it(*this); it.iter_+=n; return it;}
template<typename T >
iterator edm::PtrVectorItr< T >::operator++ ( int  ) [inline]

Definition at line 79 of file PtrVector.h.

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

{iterator it(*this); ++iter_; return it;}
template<typename T >
iterator& edm::PtrVectorItr< T >::operator++ ( ) [inline]

Definition at line 74 of file PtrVector.h.

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

{++iter_; return *this;}
template<typename T >
iterator& edm::PtrVectorItr< T >::operator+= ( difference_type  n) [inline]

Definition at line 76 of file PtrVector.h.

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

{iter_ += n; return *this;}
template<typename T >
iterator edm::PtrVectorItr< T >::operator- ( difference_type  n) const [inline]

Definition at line 82 of file PtrVector.h.

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

{iterator it(*this); it.iter_-=n; return it;}
template<typename T >
difference_type edm::PtrVectorItr< T >::operator- ( iterator const &  rhs) const [inline]

Definition at line 84 of file PtrVector.h.

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

{return this->iter_ - rhs.iter_;}
template<typename T >
iterator edm::PtrVectorItr< T >::operator-- ( int  ) [inline]

Definition at line 80 of file PtrVector.h.

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

{iterator it(*this); --iter_; return it;}
template<typename T >
iterator& edm::PtrVectorItr< T >::operator-- ( ) [inline]

Definition at line 75 of file PtrVector.h.

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

{--iter_; return *this;}
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 n.

{iter_ -= n; return *this;}
template<typename T >
PtrHolder<T> edm::PtrVectorItr< T >::operator-> ( ) const [inline]

Definition at line 70 of file PtrVector.h.

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

                                    {
      return PtrHolder<T>( this->operator*() );
    }
template<typename T >
bool edm::PtrVectorItr< T >::operator< ( iterator const &  rhs) const [inline]

Definition at line 88 of file PtrVector.h.

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

{return this->iter_ < rhs.iter_;}
template<typename T >
bool edm::PtrVectorItr< T >::operator<= ( iterator const &  rhs) const [inline]

Definition at line 90 of file PtrVector.h.

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

{return this->iter_ <= rhs.iter_;}
template<typename T >
bool edm::PtrVectorItr< T >::operator== ( iterator const &  rhs) const [inline]

Definition at line 86 of file PtrVector.h.

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

{return this->iter_ == rhs.iter_;}
template<typename T >
bool edm::PtrVectorItr< T >::operator> ( iterator const &  rhs) const [inline]

Definition at line 89 of file PtrVector.h.

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

{return this->iter_ > rhs.iter_;}
template<typename T >
bool edm::PtrVectorItr< T >::operator>= ( iterator const &  rhs) const [inline]

Definition at line 91 of file PtrVector.h.

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

{return this->iter_ >= rhs.iter_;}
template<typename T >
Ptr<T> const edm::PtrVectorItr< T >::operator[] ( difference_type  n) const [inline]

Definition at line 65 of file PtrVector.h.

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

                                                     {  // Otherwise the
      return base_->fromItr(iter_+n);        // boost::range 
    }                                        // doesn't have []

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]