00001 00005 #ifndef __FILLITERATOR_H 00006 #define __FILLITERATOR_H 00007 00008 #include "jbltools/sfh/IntFunBase.h" 00009 00010 // Class FillIterator: 00012 00090 class FillIterator: public IntFun { 00091 public: 00092 // Constructors 00094 explicit FillIterator (const char *name_ = "?" 00095 ) 00096 : IntFun (name_) {} 00098 explicit FillIterator (const std::string& name_ 00099 ) 00100 : IntFun (name_) {} 00101 00103 virtual int operator() () const=0; 00105 virtual bool next()=0; 00107 virtual bool reset()=0; 00109 virtual bool isValid() const=0; 00111 virtual const FillIterator *getIterator() const { return this; } 00112 00113 protected: 00115 virtual ~FillIterator() {} 00116 }; 00117 00118 #endif /* #ifndef __FILLITERATOR_H */