Hello Andrzej,
It is possible via TObjLink class
http://atlassw1.phy.bnl.gov/cgi-bin/cvsweb.cgi/offline/Database/AthenaRo
ot/RootKernel/RootKernel/TLISTiterator.h?rev=1.1&content-type=text/x-cvs
web-markup
Hope this helps, Valeri
// $Id: TLISTiterator.h,v 1.1 2002/06/12 17:36:44 fine Exp $
// Author: Valery Fine(fine@bnl.gov) 01/06/2002
//
#ifndef ATLAS_TList_iterator
#define ATLAS_TList_iterator
#include "TList.h"
namespace TLIST {
class iterator {
protected:
TObjLink *fLink;
public:
iterator(TObjLink *link=0) : fLink(link){}
iterator(TList *list) : fLink(list ? list->FirstLink() : 0 ){}
iterator(const iterator &iter) : fLink(iter.fLink) {}
iterator(const TObjLink &link) : fLink((TObjLink *)&link) {}
virtual ~iterator(){}
TObject *Current() const;
TObject *Current();
void Next();
void Prev();
void operator++() {Next(); }
void operator++(int) {operator++();}
void operator--() {Prev(); }
void operator--(int) {operator--();}
TObject *operator*();
TObject *operator*() const;
Bool_t operator==(const iterator &iter) const;
Bool_t operator!=(const iterator &iter) const;
Bool_t operator==(const TObject &obj) const;
Bool_t operator!=(const TObject &obj) const;
};
inline TObject *iterator::Current() const
{ return fLink ? fLink->GetObject():0; }
inline TObject *iterator::Current()
{return ((const iterator*)this)->Current();}
inline void iterator::Next() { if(fLink) fLink = fLink->Next(); }
inline void iterator::Prev() { if(fLink) fLink = fLink->Prev(); }
inline TObject *iterator::operator*() { return Current(); }
inline TObject *iterator::operator*() const { return Current(); }
inline Bool_t iterator::operator==(const iterator &iter) const
{ return fLink == iter.fLink; }
inline Bool_t iterator::operator!=(const iterator &iter) const
{ return !operator==(iter); }
inline Bool_t iterator::operator==(const TObject &obj) const
{ return (fLink) ? obj.IsEqual(Current()) : kFALSE; }
inline Bool_t iterator::operator!=(const TObject &obj) const
{ return !operator==(obj); }
}
#endif
> -----Original Message-----
> From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]
> On Behalf Of olszewsk@chall.ifj.edu.pl
> Sent: Sunday, January 26, 2003 11:28 AM
> To: roottalk@pcroot.cern.ch
> Subject: [ROOT] obtaining position of TIterator
>
>
> Hi,
>
> I don't see how to obtain current position of TIterator and then
> later set it back to this position. Is it possible?
>
> Andrzej.
>
>
*-----------------------------------------------------------------------
--
> *
> Dr. Andrzej Olszewski High Energy Physics Lab
> email : andrzej.olszewski@ifj.edu.pl Institute of Nuclear
Physics
> tel. +12-48-6333366 (secr.) ul. Kawiory 26a
> fax. +12-48-6333884 30-055 Krakow
> WWW : http://www.ifj.edu.pl/~olszewsk Poland
>
*-----------------------------------------------------------------------
--
> *
>
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:08 MET