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/stephan/code/root-2/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.


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