Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 204 of file RooLinkedListIter.h.

Public Member Functions

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

Private Attributes

std::shared_ptr< TIteratorfIterImpl
 

Additional Inherited Members

- Static Public Member Functions inherited from TIterator
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- 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 207 of file RooLinkedListIter.h.

◆ RooLinkedListIter() [2/3]

RooLinkedListIter::RooLinkedListIter ( const RooLinkedListIter )
delete

◆ RooLinkedListIter() [3/3]

RooLinkedListIter::RooLinkedListIter ( RooLinkedListIter &&  other)
inline

Definition at line 218 of file RooLinkedListIter.h.

Member Function Documentation

◆ GetCollection()

const TCollection * RooLinkedListIter::GetCollection ( ) const
inlineoverridevirtual

Implements TIterator.

Definition at line 227 of file RooLinkedListIter.h.

◆ Next()

TObject * RooLinkedListIter::Next ( )
inlineoverridevirtual

Implements TIterator.

Definition at line 229 of file RooLinkedListIter.h.

◆ operator!=()

bool 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 231 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 232 of file RooLinkedListIter.h.

◆ operator=() [1/3]

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

◆ operator=() [2/3]

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

Implements TIterator.

Definition at line 226 of file RooLinkedListIter.h.

◆ operator=() [3/3]

RooLinkedListIter & RooLinkedListIter::operator= ( RooLinkedListIter &&  other)
inline

Definition at line 221 of file RooLinkedListIter.h.

◆ Reset()

void RooLinkedListIter::Reset ( )
inlineoverridevirtual

Implements TIterator.

Definition at line 230 of file RooLinkedListIter.h.

Member Data Documentation

◆ fIterImpl

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

Definition at line 235 of file RooLinkedListIter.h.

Libraries for RooLinkedListIter:

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