https://github.com/root-project/root
Tip revision: 2c1824f2c1a0371410bdd4d769926cb0f7c844e3 authored by Philippe Canal on 21 May 2024, 19:16:57 UTC
io: Avoid infinite recursion in TFile::Open
io: Avoid infinite recursion in TFile::Open
Tip revision: 2c1824f
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