#ifndef ROOT_TIterator #define ROOT_TIterator //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TIterator // // // // Iterator abstract base class. This base class provides the interface // // for collection iterators. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_Rtypes //*KEEP,Rtypes. #include "Rtypes.h" //*KEND. #endif class TCollection; class TObject; class TIterator { private: TIterator(const TIterator &); // private and not-implemented void operator=(const TIterator &); // don't allow copy or assignment of // iterators, create always a new one protected: TIterator() { } public: virtual ~TIterator() { } virtual const TCollection *GetCollection() const = 0; virtual Option_t *GetOption() const { return ""; } virtual TObject *Next() = 0; virtual void Reset() = 0; TObject *operator()() { return Next(); } ClassDef(TIterator,0) //Iterator abstract base class }; #endif