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
virtual Option_tGetOption () const
virtual TClassIsA () const
TObjectNext () override
bool operator!= (const TIterator &other) const override
 Compare two iterator objects.
TObjectoperator() ()
TObjectoperator* () const override
 Return current object or nullptr.
RooLinkedListIteroperator= (const RooLinkedListIter &)=delete
TIteratoroperator= (const TIterator &other) override
RooLinkedListIteroperator= (RooLinkedListIter &&other)
Bool_t operator== (const TIterator &other) const
void Reset () override
virtual void Streamer (TBuffer &)
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()

Private Attributes

std::shared_ptr< TIteratorfIterImpl
 !

#include <RooLinkedListIter.h>

Inheritance diagram for RooLinkedListIter:
TIterator

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

◆ Class()

TClass * TIterator::Class ( )
staticinherited
Returns
TClass describing this class

◆ Class_Name()

const char * TIterator::Class_Name ( )
staticinherited
Returns
Name of this class

◆ Class_Version()

constexpr Version_t TIterator::Class_Version ( )
inlinestaticconstexprinherited
Returns
Version of this class

Definition at line 48 of file TIterator.h.

◆ DeclFileName()

const char * TIterator::DeclFileName ( )
inlinestaticinherited
Returns
Name of the file containing the class declaration

Definition at line 48 of file TIterator.h.

◆ GetCollection()

const TCollection * RooLinkedListIter::GetCollection ( ) const
inlineoverridevirtual

Implements TIterator.

Definition at line 227 of file RooLinkedListIter.h.

◆ GetOption()

virtual Option_t * TIterator::GetOption ( ) const
inlinevirtualinherited

Reimplemented in TListIter, and TTreeFriendLeafIter.

Definition at line 40 of file TIterator.h.

◆ IsA()

virtual TClass * TIterator::IsA ( ) const
inlinevirtualinherited

◆ 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 * TIterator::operator() ( )
inlineinherited

Definition at line 43 of file TIterator.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.

◆ operator==()

Bool_t TIterator::operator== ( const TIterator & other) const
inlineinherited

Definition at line 45 of file TIterator.h.

◆ Reset()

void RooLinkedListIter::Reset ( )
inlineoverridevirtual

Implements TIterator.

Definition at line 230 of file RooLinkedListIter.h.

◆ Streamer()

◆ StreamerNVirtual()

void TIterator::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inlineinherited

Definition at line 48 of file TIterator.h.

Member Data Documentation

◆ fIterImpl

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

!

Definition at line 235 of file RooLinkedListIter.h.


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