Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TDirectoryLevelIter Class Reference

Iterator over keys in TDirectory.

Definition at line 42 of file TDirectoryElement.cxx.

Public Member Functions

 TDirectoryLevelIter (TDirectory *dir)
 ~TDirectoryLevelIter () override=default
bool CanItemHaveChilds () const override
 Returns true if current item can have childs.
std::unique_ptr< RItemCreateItem () override
 Create item for the client.
virtual bool Find (const std::string &name, int indx=-1)
 Find item with specified name Default implementation, should work for all If index specified, not only name but also index should match.
std::shared_ptr< RElementGetDirElement (bool read_dir)
 Return element for current TKey object in TDirectory.
std::shared_ptr< RElementGetElement () override
 Returns full information for current element.
std::string GetItemName () const override
 Returns current entry name.
bool Next () override
 Shift to next entry.

Private Member Functions

bool CreateIter ()
bool NextDirEntry ()

Private Attributes

std::string fCurrentName
 ! current key name
TDirectoryfDir {nullptr}
 ! current directory handle
std::unique_ptr< TIteratorfIter
 ! created iterator
TKeyfKey {nullptr}
 ! currently selected key
bool fKeysIter {true}
 ! iterating over keys list (default)
TObjectfObj {nullptr}
 ! currently selected object
Inheritance diagram for TDirectoryLevelIter:
ROOT::Browsable::RLevelIter

Constructor & Destructor Documentation

◆ TDirectoryLevelIter()

TDirectoryLevelIter::TDirectoryLevelIter ( TDirectory * dir)
inlineexplicit

Definition at line 138 of file TDirectoryElement.cxx.

◆ ~TDirectoryLevelIter()

TDirectoryLevelIter::~TDirectoryLevelIter ( )
overridedefault

Member Function Documentation

◆ CanItemHaveChilds()

bool TDirectoryLevelIter::CanItemHaveChilds ( ) const
inlineoverridevirtual

Returns true if current item can have childs.

Reimplemented from ROOT::Browsable::RLevelIter.

Definition at line 152 of file TDirectoryElement.cxx.

◆ CreateItem()

std::unique_ptr< RItem > TDirectoryLevelIter::CreateItem ( )
inlineoverridevirtual

Create item for the client.

Reimplemented from ROOT::Browsable::RLevelIter.

Definition at line 167 of file TDirectoryElement.cxx.

◆ CreateIter()

bool TDirectoryLevelIter::CreateIter ( )
inlineprivate

Definition at line 50 of file TDirectoryElement.cxx.

◆ Find()

bool RLevelIter::Find ( const std::string & name,
int indx = -1 )
virtualinherited

Find item with specified name Default implementation, should work for all If index specified, not only name but also index should match.

Reimplemented in RGroupIter, ROOT::Browsable::RSysDirLevelIter, and TObjectLevelIter.

Definition at line 21 of file RLevelIter.cxx.

◆ GetDirElement()

std::shared_ptr< RElement > TDirectoryLevelIter::GetDirElement ( bool read_dir)

Return element for current TKey object in TDirectory.

Definition at line 538 of file TDirectoryElement.cxx.

◆ GetElement()

std::shared_ptr< RElement > TDirectoryLevelIter::GetElement ( )
inlineoverridevirtual

Returns full information for current element.

Implements ROOT::Browsable::RLevelIter.

Definition at line 185 of file TDirectoryElement.cxx.

◆ GetItemName()

std::string TDirectoryLevelIter::GetItemName ( ) const
inlineoverridevirtual

Returns current entry name.

Implements ROOT::Browsable::RLevelIter.

Definition at line 150 of file TDirectoryElement.cxx.

◆ Next()

bool TDirectoryLevelIter::Next ( )
inlineoverridevirtual

Shift to next entry.

Implements ROOT::Browsable::RLevelIter.

Definition at line 145 of file TDirectoryElement.cxx.

◆ NextDirEntry()

bool TDirectoryLevelIter::NextDirEntry ( )
inlineprivate

Definition at line 69 of file TDirectoryElement.cxx.

Member Data Documentation

◆ fCurrentName

std::string TDirectoryLevelIter::fCurrentName
private

! current key name

Definition at line 48 of file TDirectoryElement.cxx.

◆ fDir

TDirectory* TDirectoryLevelIter::fDir {nullptr}
private

! current directory handle

Definition at line 43 of file TDirectoryElement.cxx.

◆ fIter

std::unique_ptr<TIterator> TDirectoryLevelIter::fIter
private

! created iterator

Definition at line 44 of file TDirectoryElement.cxx.

◆ fKey

TKey* TDirectoryLevelIter::fKey {nullptr}
private

! currently selected key

Definition at line 46 of file TDirectoryElement.cxx.

◆ fKeysIter

bool TDirectoryLevelIter::fKeysIter {true}
private

! iterating over keys list (default)

Definition at line 45 of file TDirectoryElement.cxx.

◆ fObj

TObject* TDirectoryLevelIter::fObj {nullptr}
private

! currently selected object

Definition at line 47 of file TDirectoryElement.cxx.


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