CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::RefVectorIterator< C, T, F > Class Template Reference

#include <RefVectorIterator.h>

List of all members.

Public Types

typedef Ref< C, T, F > const const_reference
typedef std::ptrdiff_t difference
typedef RefVectorIterator< C,
T, F > 
iterator
typedef value_type::key_type key_type
typedef std::vector< key_type >
::const_iterator 
keyIter
typedef const_reference reference
typedef Ref< C, T, F > value_type

Public Member Functions

bool operator!= (iterator const &rhs) const
reference operator* () const
iterator operator+ (difference n) const
iterator operator++ (int)
iteratoroperator++ ()
iteratoroperator+= (difference n)
iterator operator- (difference n) const
difference operator- (iterator const &rhs) const
iterator operator-- (int)
iteratoroperator-- ()
iteratoroperator-= (difference n)
std::auto_ptr< value_typeoperator-> () 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
reference operator[] (difference n) const
 RefVectorIterator (RefCore const &product, keyIter const &it)
 RefVectorIterator ()

Private Attributes

keyIter iter_
RefCore product_

Detailed Description

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
class edm::RefVectorIterator< C, T, F >

Definition at line 20 of file RefVectorIterator.h.


Member Typedef Documentation

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef Ref<C, T, F> const edm::RefVectorIterator< C, T, F >::const_reference

Definition at line 23 of file RefVectorIterator.h.

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef std::ptrdiff_t edm::RefVectorIterator< C, T, F >::difference

Definition at line 29 of file RefVectorIterator.h.

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef RefVectorIterator<C, T, F> edm::RefVectorIterator< C, T, F >::iterator

Definition at line 28 of file RefVectorIterator.h.

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef value_type::key_type edm::RefVectorIterator< C, T, F >::key_type

Definition at line 26 of file RefVectorIterator.h.

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef std::vector<key_type>::const_iterator edm::RefVectorIterator< C, T, F >::keyIter

Definition at line 30 of file RefVectorIterator.h.

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef const_reference edm::RefVectorIterator< C, T, F >::reference

Definition at line 24 of file RefVectorIterator.h.

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
typedef Ref<C, T, F> edm::RefVectorIterator< C, T, F >::value_type

Definition at line 22 of file RefVectorIterator.h.


Constructor & Destructor Documentation

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
edm::RefVectorIterator< C, T, F >::RefVectorIterator ( ) [inline]

Definition at line 31 of file RefVectorIterator.h.

: product_(), iter_() {}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
edm::RefVectorIterator< C, T, F >::RefVectorIterator ( RefCore const &  product,
keyIter const &  it 
) [inline, explicit]

Definition at line 32 of file RefVectorIterator.h.

                                                                          :
      product_(product), iter_(it) {}

Member Function Documentation

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
bool edm::RefVectorIterator< C, T, F >::operator!= ( iterator const &  rhs) const [inline]

Definition at line 59 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ != rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
reference edm::RefVectorIterator< C, T, F >::operator* ( ) const [inline]
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator edm::RefVectorIterator< C, T, F >::operator+ ( difference  n) const [inline]

Definition at line 53 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_, and n.

{iterator it(*this); it.iter_+=n; return it;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator edm::RefVectorIterator< C, T, F >::operator++ ( int  ) [inline]

Definition at line 51 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{iterator it(*this); ++iter_; return it;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator& edm::RefVectorIterator< C, T, F >::operator++ ( ) [inline]

Definition at line 46 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{++iter_; return *this;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator& edm::RefVectorIterator< C, T, F >::operator+= ( difference  n) [inline]

Definition at line 48 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_, and n.

{iter_ += n; return *this;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator edm::RefVectorIterator< C, T, F >::operator- ( difference  n) const [inline]

Definition at line 54 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_, and n.

{iterator it(*this); it.iter_-=n; return it;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
difference edm::RefVectorIterator< C, T, F >::operator- ( iterator const &  rhs) const [inline]

Definition at line 56 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ - rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator edm::RefVectorIterator< C, T, F >::operator-- ( int  ) [inline]

Definition at line 52 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{iterator it(*this); --iter_; return it;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator& edm::RefVectorIterator< C, T, F >::operator-- ( ) [inline]

Definition at line 47 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{--iter_; return *this;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
iterator& edm::RefVectorIterator< C, T, F >::operator-= ( difference  n) [inline]

Definition at line 49 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_, and n.

{iter_ -= n; return *this;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
std::auto_ptr<value_type> edm::RefVectorIterator< C, T, F >::operator-> ( ) const [inline]

Definition at line 42 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_, combine::key, and edm::RefVectorIterator< C, T, F >::product_.

                                               {
      key_type const& key = *iter_;
      return std::auto_ptr<value_type>(new value_type(product_, key));
    }
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
bool edm::RefVectorIterator< C, T, F >::operator< ( iterator const &  rhs) const [inline]

Definition at line 60 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ < rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
bool edm::RefVectorIterator< C, T, F >::operator<= ( iterator const &  rhs) const [inline]

Definition at line 62 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ <= rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
bool edm::RefVectorIterator< C, T, F >::operator== ( iterator const &  rhs) const [inline]

Definition at line 58 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ == rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
bool edm::RefVectorIterator< C, T, F >::operator> ( iterator const &  rhs) const [inline]

Definition at line 61 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ > rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
bool edm::RefVectorIterator< C, T, F >::operator>= ( iterator const &  rhs) const [inline]

Definition at line 63 of file RefVectorIterator.h.

References edm::RefVectorIterator< C, T, F >::iter_.

{return this->iter_ >= rhs.iter_;}
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
reference edm::RefVectorIterator< C, T, F >::operator[] ( difference  n) const [inline]

Member Data Documentation

template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
keyIter edm::RefVectorIterator< C, T, F >::iter_ [private]
template<typename C, typename T = typename Ref<C>::value_type, typename F = typename Ref<C>::finder_type>
RefCore edm::RefVectorIterator< C, T, F >::product_ [private]