CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
iterator_imp.h
Go to the documentation of this file.
1 #ifndef Candidate_iterator_imp_h
2 #define Candidate_iterator_imp_h
3 
4 /* \class reco::candidate::iterator_imp
5  *
6  * \author Luca Lista, INFN
7  *
8  */
9 namespace reco {
10  namespace candidate {
11  struct iterator_imp {
12  typedef ptrdiff_t difference_type;
14  virtual ~iterator_imp() { }
15  virtual iterator_imp * clone() const = 0;
16  virtual const_iterator_imp * const_clone() const = 0;
17  virtual void increase() = 0;
18  virtual void decrease() = 0;
19  virtual void increase( difference_type d ) = 0;
20  virtual void decrease( difference_type d ) = 0;
21  virtual bool equal_to( const iterator_imp * ) const = 0;
22  virtual bool less_than( const iterator_imp * ) const = 0;
23  virtual void assign( const iterator_imp * ) = 0;
24  virtual Candidate & deref() const = 0;
25  virtual difference_type difference( const iterator_imp * ) const = 0;
26  };
27  }
28 }
29 
30 #endif
virtual void assign(const iterator_imp *)=0
virtual difference_type difference(const iterator_imp *) const =0
virtual bool less_than(const iterator_imp *) const =0
virtual const_iterator_imp * const_clone() const =0
virtual iterator_imp * clone() const =0
virtual Candidate & deref() const =0
virtual bool equal_to(const iterator_imp *) const =0