https://github.com/root-project/root
Tip revision: 325614f691ae84b7483f1d72cf57a4903ef3cdab authored by Axel Naumann on 27 November 2023, 18:29:01 UTC
[foundation] Update version file to 6.30.03: dev phase for next patch release cycle.
[foundation] Update version file to 6.30.03: dev phase for next patch release cycle.
Tip revision: 325614f
TIterator.h
// @(#)root/cont:$Id$
// Author: Fons Rademakers 13/08/95
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TIterator
#define ROOT_TIterator
//////////////////////////////////////////////////////////////////////////
// //
// TIterator //
// //
// Iterator abstract base class. This base class provides the interface //
// for collection iterators. //
// //
//////////////////////////////////////////////////////////////////////////
#include "Rtypes.h"
class TCollection;
class TObject;
class TIterator {
protected:
TIterator() { }
TIterator(const TIterator &) { }
public:
virtual TIterator &operator=(const TIterator &) = 0;
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(); }
virtual Bool_t operator!=(const TIterator &) const;
Bool_t operator==(const TIterator & other) const { return !(*this != other); }
virtual TObject *operator*() const;
ClassDef(TIterator,0) //Iterator abstract base class
};
#endif