CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
reco::candidate::iterator Struct Reference

#include <iterator.h>

Public Types

typedef ptrdiff_t difference_type
 
typedef std::vector< int >
::iterator::iterator_category 
iterator_category
 
typedef Candidatepointer
 
typedef Candidatereference
 
typedef Candidate value_type
 

Public Member Functions

 iterator ()
 
 iterator (iterator_imp *it)
 
 iterator (const iterator &it)
 
bool operator!= (const iterator &ci) const
 
Candidateoperator* () const
 
iterator operator+ (difference_type n) const
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator+= (difference_type d)
 
difference_type operator- (const iterator &o) const
 
iterator operator- (difference_type n) const
 
iteratoroperator-- ()
 
iterator operator-- (int)
 
iteratoroperator-= (difference_type d)
 
Candidateoperator-> () const
 
bool operator< (const iterator &o)
 
iteratoroperator= (const iterator &it)
 
bool operator== (const iterator &ci) const
 
 ~iterator ()
 

Private Member Functions

friend const_iterator::const_iterator (const iterator &)
 

Private Attributes

iterator_impi
 

Detailed Description

Definition at line 15 of file iterator.h.

Member Typedef Documentation

Definition at line 19 of file iterator.h.

Definition at line 20 of file iterator.h.

Definition at line 17 of file iterator.h.

Definition at line 18 of file iterator.h.

Definition at line 16 of file iterator.h.

Constructor & Destructor Documentation

reco::candidate::iterator::iterator ( )
inline

Definition at line 21 of file iterator.h.

Referenced by operator+(), and operator-().

21 : i( 0 ) { }
iterator_imp * i
Definition: iterator.h:47
reco::candidate::iterator::iterator ( iterator_imp it)
inline

Definition at line 22 of file iterator.h.

22 : i( it ) { }
iterator_imp * i
Definition: iterator.h:47
reco::candidate::iterator::iterator ( const iterator it)
inline

Definition at line 23 of file iterator.h.

23 : i( it.i->clone() ) { }
iterator_imp * i
Definition: iterator.h:47
reco::candidate::iterator::~iterator ( )
inline

Definition at line 24 of file iterator.h.

References i.

24 { delete i; }
iterator_imp * i
Definition: iterator.h:47

Member Function Documentation

reco::candidate::iterator::const_iterator::const_iterator ( const iterator )
private
bool reco::candidate::iterator::operator!= ( const iterator ci) const
inline

Definition at line 41 of file iterator.h.

References reco::candidate::iterator_imp::equal_to(), and i.

41 { return ! i->equal_to( ci.i ); }
iterator_imp * i
Definition: iterator.h:47
virtual bool equal_to(const iterator_imp *) const =0
Candidate& reco::candidate::iterator::operator* ( ) const
inline

Definition at line 42 of file iterator.h.

References reco::candidate::iterator_imp::deref(), and i.

Referenced by operator->().

42 { return i->deref(); }
iterator_imp * i
Definition: iterator.h:47
virtual Candidate & deref() const =0
iterator reco::candidate::iterator::operator+ ( difference_type  n) const
inline

Definition at line 31 of file iterator.h.

References reco::candidate::iterator_imp::clone(), i, reco::candidate::iterator_imp::increase(), and iterator().

31  {
32  iterator_imp * ii = i->clone(); ii->increase( n );
33  return iterator( ii );
34  }
iterator_imp * i
Definition: iterator.h:47
virtual iterator_imp * clone() const =0
iterator& reco::candidate::iterator::operator++ ( )
inline

Definition at line 26 of file iterator.h.

References i, and reco::candidate::iterator_imp::increase().

26 { i->increase(); return *this; }
iterator_imp * i
Definition: iterator.h:47
iterator reco::candidate::iterator::operator++ ( int  )
inline

Definition at line 27 of file iterator.h.

References i, and reco::candidate::iterator_imp::increase().

27 { iterator ci = *this; i->increase(); return ci; }
iterator_imp * i
Definition: iterator.h:47
iterator& reco::candidate::iterator::operator+= ( difference_type  d)
inline

Definition at line 44 of file iterator.h.

References i, and reco::candidate::iterator_imp::increase().

44 { i->increase( d ); return *this; }
iterator_imp * i
Definition: iterator.h:47
difference_type reco::candidate::iterator::operator- ( const iterator o) const
inline

Definition at line 30 of file iterator.h.

References reco::candidate::iterator_imp::difference(), and i.

30 { return i->difference( o.i ); }
virtual difference_type difference(const iterator_imp *) const =0
iterator_imp * i
Definition: iterator.h:47
iterator reco::candidate::iterator::operator- ( difference_type  n) const
inline

Definition at line 35 of file iterator.h.

References reco::candidate::iterator_imp::clone(), reco::candidate::iterator_imp::decrease(), i, and iterator().

35  {
36  iterator_imp * ii = i->clone(); ii->decrease( n );
37  return iterator( ii );
38  }
iterator_imp * i
Definition: iterator.h:47
virtual iterator_imp * clone() const =0
iterator& reco::candidate::iterator::operator-- ( )
inline

Definition at line 28 of file iterator.h.

References i, and reco::candidate::iterator_imp::increase().

28 { i->increase(); return *this; }
iterator_imp * i
Definition: iterator.h:47
iterator reco::candidate::iterator::operator-- ( int  )
inline

Definition at line 29 of file iterator.h.

References reco::candidate::iterator_imp::decrease(), and i.

29 { iterator ci = *this; i->decrease(); return ci; }
iterator_imp * i
Definition: iterator.h:47
iterator& reco::candidate::iterator::operator-= ( difference_type  d)
inline

Definition at line 45 of file iterator.h.

References reco::candidate::iterator_imp::decrease(), and i.

45 { i->decrease( d ); return *this; }
iterator_imp * i
Definition: iterator.h:47
Candidate* reco::candidate::iterator::operator-> ( ) const
inline

Definition at line 43 of file iterator.h.

References operator*().

43 { return & ( operator*() ); }
Candidate & operator*() const
Definition: iterator.h:42
bool reco::candidate::iterator::operator< ( const iterator o)
inline

Definition at line 39 of file iterator.h.

References i, and reco::candidate::iterator_imp::less_than().

39 { return i->less_than( o.i ) ; }
iterator_imp * i
Definition: iterator.h:47
virtual bool less_than(const iterator_imp *) const =0
iterator& reco::candidate::iterator::operator= ( const iterator it)
inline

Definition at line 25 of file iterator.h.

References reco::candidate::iterator_imp::assign(), and i.

25 { i->assign( it.i ); return *this; }
virtual void assign(const iterator_imp *)=0
iterator_imp * i
Definition: iterator.h:47
bool reco::candidate::iterator::operator== ( const iterator ci) const
inline

Definition at line 40 of file iterator.h.

References reco::candidate::iterator_imp::equal_to(), and i.

40 { return i->equal_to( ci.i ); }
iterator_imp * i
Definition: iterator.h:47
virtual bool equal_to(const iterator_imp *) const =0

Member Data Documentation

iterator_imp* reco::candidate::iterator::i
private