Logo ROOT   6.18/05
Reference Guide
List of all members | Public Member Functions | Private Attributes | List of all members
RooLinkedListIter Class Referencefinal

A wrapper around TIterator derivatives.

It is called RooLinkedListIter because all classes assume that the RooAbsCollections use a RooLinkedList, which is not true, any more. The purpose of this wrapper is to act on the outside like a RooLinkedListIter, even though the underlying implementation may work an a different container, like e.g. an STL container. This is needed to not break user code that is using a RooLinkedList or a RooAbsCollection.

Note
All code using this iterator as an iterator over a RooAbsCollection should move to begin() and end() or range-based for loops. These are faster.

Definition at line 203 of file RooLinkedListIter.h.

Public Member Functions

 RooLinkedListIter (const RooLinkedListIter &)=delete
 
 RooLinkedListIter (RooLinkedListIter &&)=default
 
 RooLinkedListIter (std::shared_ptr< TIterator > iterImpl)
 
const TCollectionGetCollection () const override
 
TObjectNext () override
 
Bool_t operator!= (const TIterator &other) const override
 Compare two iterator objects. More...
 
TObjectoperator* () const override
 Return current object or nullptr. More...
 
RooLinkedListIteroperator= (const RooLinkedListIter &)=delete
 
TIteratoroperator= (const TIterator &other) override
 
RooLinkedListIteroperator= (RooLinkedListIter &&)=default
 
void Reset () override
 
- Public Member Functions inherited from TIterator
virtual ~TIterator ()
 
virtual const TCollectionGetCollection () const =0
 
virtual Option_tGetOption () const
 
virtual TObjectNext ()=0
 
virtual Bool_t operator!= (const TIterator &) const
 Compare two iterator objects. More...
 
TObjectoperator() ()
 
virtual TObjectoperator* () const
 Return current object or nullptr. More...
 
virtual TIteratoroperator= (const TIterator &)
 
Bool_t operator== (const TIterator &other) const
 
virtual void Reset ()=0
 

Private Attributes

std::shared_ptr< TIteratorfIterImpl
 

Additional Inherited Members

- Protected Member Functions inherited from TIterator
 TIterator ()
 
 TIterator (const TIterator &)
 

#include <RooLinkedListIter.h>

Inheritance diagram for RooLinkedListIter:
[legend]

Constructor & Destructor Documentation

◆ RooLinkedListIter() [1/3]

RooLinkedListIter::RooLinkedListIter ( std::shared_ptr< TIterator iterImpl)
inline

Definition at line 206 of file RooLinkedListIter.h.

◆ RooLinkedListIter() [2/3]

RooLinkedListIter::RooLinkedListIter ( const RooLinkedListIter )
delete

◆ RooLinkedListIter() [3/3]

RooLinkedListIter::RooLinkedListIter ( RooLinkedListIter &&  )
default

Member Function Documentation

◆ GetCollection()

const TCollection * RooLinkedListIter::GetCollection ( ) const
inlineoverridevirtual

Implements TIterator.

Definition at line 217 of file RooLinkedListIter.h.

◆ Next()

TObject * RooLinkedListIter::Next ( )
inlineoverridevirtual

Implements TIterator.

Definition at line 219 of file RooLinkedListIter.h.

◆ operator!=()

Bool_t RooLinkedListIter::operator!= ( const TIterator ) const
inlineoverridevirtual

Compare two iterator objects.

For backward compatibility reasons we have to provide this default implementation.

Reimplemented from TIterator.

Definition at line 221 of file RooLinkedListIter.h.

◆ operator*()

TObject * RooLinkedListIter::operator* ( ) const
inlineoverridevirtual

Return current object or nullptr.

For backward compatibility reasons we have to provide this default implementation.

Reimplemented from TIterator.

Definition at line 222 of file RooLinkedListIter.h.

◆ operator=() [1/3]

RooLinkedListIter & RooLinkedListIter::operator= ( const RooLinkedListIter )
delete

◆ operator=() [2/3]

TIterator & RooLinkedListIter::operator= ( const TIterator other)
inlineoverridevirtual

Reimplemented from TIterator.

Definition at line 216 of file RooLinkedListIter.h.

◆ operator=() [3/3]

RooLinkedListIter & RooLinkedListIter::operator= ( RooLinkedListIter &&  )
default

◆ Reset()

void RooLinkedListIter::Reset ( void  )
inlineoverridevirtual

Implements TIterator.

Definition at line 220 of file RooLinkedListIter.h.

Member Data Documentation

◆ fIterImpl

std::shared_ptr<TIterator> RooLinkedListIter::fIterImpl
private

Definition at line 225 of file RooLinkedListIter.h.


The documentation for this class was generated from the following file: