Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Internal::RecurseCounts Struct Reference

Definition at line 92 of file TReentrantRWLock.hxx.

Public Types

using Hint_t = TVirtualRWMutex::Hint_t
 
using local_t = std::thread::id
 
using ReaderColl_t = std::unordered_map< std::thread::id, size_t >
 

Public Member Functions

Hint_tDecrementReadCount (local_t &local)
 
template<typename MutexT >
Hint_tDecrementReadCount (local_t &local, MutexT &mutex)
 
void DecrementWriteCount ()
 
local_t GetLocal () const
 
size_t & GetLocalReadersCount (local_t &local)
 
Hint_tIncrementReadCount (local_t &local)
 
template<typename MutexT >
Hint_tIncrementReadCount (local_t &local, MutexT &mutex)
 
bool IsCurrentWriter (local_t &local) const
 
bool IsNotCurrentWriter (local_t &local) const
 
void ResetIsWriter (local_t &)
 
void ResetReadCount (local_t &local, int newvalue)
 
void SetIsWriter (local_t &local)
 

Public Attributes

ReaderColl_t fReadersCount
 ! Set of reader thread ids
 
size_t fWriteRecurse = 0
 ! Number of re-entry in the lock by the same thread.
 
std::thread::id fWriterThread
 ! Holder of the write lock
 

#include </home/sftnight/build/workspace/root-makedoc-master/rootspi/rdoc/src/master/core/thread/src/TReentrantRWLock.hxx>

Member Typedef Documentation

◆ Hint_t

using ROOT::Internal::RecurseCounts::Hint_t = TVirtualRWMutex::Hint_t

Definition at line 93 of file TReentrantRWLock.hxx.

◆ local_t

using ROOT::Internal::RecurseCounts::local_t = std::thread::id

Definition at line 100 of file TReentrantRWLock.hxx.

◆ ReaderColl_t

using ROOT::Internal::RecurseCounts::ReaderColl_t = std::unordered_map<std::thread::id, size_t>

Definition at line 94 of file TReentrantRWLock.hxx.

Member Function Documentation

◆ DecrementReadCount() [1/2]

Hint_t * ROOT::Internal::RecurseCounts::DecrementReadCount ( local_t local)
inline

Definition at line 117 of file TReentrantRWLock.hxx.

◆ DecrementReadCount() [2/2]

template<typename MutexT >
Hint_t * ROOT::Internal::RecurseCounts::DecrementReadCount ( local_t local,
MutexT mutex 
)
inline

Definition at line 124 of file TReentrantRWLock.hxx.

◆ DecrementWriteCount()

void ROOT::Internal::RecurseCounts::DecrementWriteCount ( )
inline

Definition at line 146 of file TReentrantRWLock.hxx.

◆ GetLocal()

local_t ROOT::Internal::RecurseCounts::GetLocal ( ) const
inline

Definition at line 102 of file TReentrantRWLock.hxx.

◆ GetLocalReadersCount()

size_t & ROOT::Internal::RecurseCounts::GetLocalReadersCount ( local_t local)
inline

Definition at line 150 of file TReentrantRWLock.hxx.

◆ IncrementReadCount() [1/2]

Hint_t * ROOT::Internal::RecurseCounts::IncrementReadCount ( local_t local)
inline

Definition at line 104 of file TReentrantRWLock.hxx.

◆ IncrementReadCount() [2/2]

template<typename MutexT >
Hint_t * ROOT::Internal::RecurseCounts::IncrementReadCount ( local_t local,
MutexT mutex 
)
inline

Definition at line 111 of file TReentrantRWLock.hxx.

◆ IsCurrentWriter()

bool ROOT::Internal::RecurseCounts::IsCurrentWriter ( local_t local) const
inline

Definition at line 134 of file TReentrantRWLock.hxx.

◆ IsNotCurrentWriter()

bool ROOT::Internal::RecurseCounts::IsNotCurrentWriter ( local_t local) const
inline

Definition at line 135 of file TReentrantRWLock.hxx.

◆ ResetIsWriter()

void ROOT::Internal::RecurseCounts::ResetIsWriter ( local_t )
inline

Definition at line 148 of file TReentrantRWLock.hxx.

◆ ResetReadCount()

void ROOT::Internal::RecurseCounts::ResetReadCount ( local_t local,
int  newvalue 
)
inline

Definition at line 130 of file TReentrantRWLock.hxx.

◆ SetIsWriter()

void ROOT::Internal::RecurseCounts::SetIsWriter ( local_t local)
inline

Definition at line 137 of file TReentrantRWLock.hxx.

Member Data Documentation

◆ fReadersCount

ReaderColl_t ROOT::Internal::RecurseCounts::fReadersCount

! Set of reader thread ids

Definition at line 98 of file TReentrantRWLock.hxx.

◆ fWriteRecurse

size_t ROOT::Internal::RecurseCounts::fWriteRecurse = 0

! Number of re-entry in the lock by the same thread.

Definition at line 95 of file TReentrantRWLock.hxx.

◆ fWriterThread

std::thread::id ROOT::Internal::RecurseCounts::fWriterThread

! Holder of the write lock

Definition at line 97 of file TReentrantRWLock.hxx.

Collaboration diagram for ROOT::Internal::RecurseCounts:
[legend]

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