Logo ROOT   master
Reference Guide
TDirectory::TContext Class Reference

Small helper to keep current directory context.

Automatically reverts to "old" directory

Definition at line 41 of file TDirectory.h.

Public Member Functions

 TContext (TDirectory *previous, TDirectory *newCurrent)
 
 TContext ()
 
 TContext (TDirectory *newCurrent)
 
 ~TContext ()
 Destructor. More...
 

Private Member Functions

 TContext (TContext &)=delete
 Pointer to the next TContext in the implied list of context pointing to fPrevious. More...
 
void CdNull ()
 Set the current directory to null. More...
 
TContextoperator= (TContext &)=delete
 

Private Attributes

std::atomic< boolfActiveDestructor {false}
 Pointer to the previous current directory. More...
 
std::atomic< TDirectory * > fDirectory {nullptr}
 
std::atomic< boolfDirectoryWait {false}
 Set to true during the destructor execution. More...
 
TContextfNext {nullptr}
 Pointer to the next TContext in the implied list of context pointing to fPrevious. More...
 
TContextfPrevious {nullptr}
 Set to true if a TDirectory might still access this object. More...
 

Friends

class TDirectory
 

#include <TDirectory.h>

Constructor & Destructor Documentation

◆ TContext() [1/4]

TDirectory::TContext::TContext ( TContext )
privatedelete

Pointer to the next TContext in the implied list of context pointing to fPrevious.

◆ TContext() [2/4]

TDirectory::TContext::TContext ( TDirectory previous,
TDirectory newCurrent 
)
inline

Definition at line 55 of file TDirectory.h.

◆ TContext() [3/4]

TDirectory::TContext::TContext ( )
inline

Definition at line 66 of file TDirectory.h.

◆ TContext() [4/4]

TDirectory::TContext::TContext ( TDirectory newCurrent)
inline

Definition at line 73 of file TDirectory.h.

◆ ~TContext()

TDirectory::TContext::~TContext ( )

Destructor.

Reset the current directory to its previous state.

Definition at line 134 of file TDirectory.cxx.

Member Function Documentation

◆ CdNull()

void TDirectory::TContext::CdNull ( )
private

Set the current directory to null.

This is called from the TContext destructor. Since the destructor is inline, we do not want to have it directly use a global variable.

Definition at line 124 of file TDirectory.cxx.

◆ operator=()

TContext& TDirectory::TContext::operator= ( TContext )
privatedelete

Friends And Related Function Documentation

◆ TDirectory

friend class TDirectory
friend

Definition at line 53 of file TDirectory.h.

Member Data Documentation

◆ fActiveDestructor

std::atomic<bool> TDirectory::TContext::fActiveDestructor {false}
private

Pointer to the previous current directory.

Definition at line 44 of file TDirectory.h.

◆ fDirectory

std::atomic<TDirectory*> TDirectory::TContext::fDirectory {nullptr}
private

Definition at line 43 of file TDirectory.h.

◆ fDirectoryWait

std::atomic<bool> TDirectory::TContext::fDirectoryWait {false}
private

Set to true during the destructor execution.

Definition at line 45 of file TDirectory.h.

◆ fNext

TContext* TDirectory::TContext::fNext {nullptr}
private

Pointer to the next TContext in the implied list of context pointing to fPrevious.

Definition at line 47 of file TDirectory.h.

◆ fPrevious

TContext* TDirectory::TContext::fPrevious {nullptr}
private

Set to true if a TDirectory might still access this object.

Definition at line 46 of file TDirectory.h.


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