NSCL DDAS  1.0
Support for XIA DDAS at the NSCL
 All Classes Files Functions Variables Macros Pages
AlgoIterator.hpp
1 // AlgoIterator.hpp
2 //
3 // Author : Jeromy Tompkins
4 // Date : 8/14/2013
5 
6 #ifndef ALGOITERATOR_H
7 #define ALGOITERATOR_H
8 
9 #include "Trace.hpp"
10 #include "TObject.h"
11 
12 namespace TrAnal
13 {
14 
16  template<class T>
17  class AlgoIterator
18  {
19  public:
25  AlgoIterator& operator=(const AlgoIterator& ) { return *this;}
26  virtual ~AlgoIterator() {}
27 
28  // Support for basic comparison with TrIterator
29  virtual bool operator<(const TrIterator<T>& ) const { return false; }
30 
31  // Support for range specification
37  virtual TrIterator<T> min_extent() const { return TrIterator<T>(0);}
38 
44  virtual TrIterator<T> max_extent() const { return TrIterator<T>(0);}
45 
46  // Support for incrementation
51  virtual AlgoIterator& operator++() { return *this;}
52 
53  // Support for dereferencing to a double
60  virtual double operator*() const { return 0;}
61 
62  // ROOT dict generation
64  ClassDef(AlgoIterator,0);
66  }; // end AlgoIterator class
67 
68 } // end of namespace
69 
70 #endif