Logo ROOT  
Reference Guide
ROOT::TRWMutexImp< MutexT, RecurseCountsT > Class Template Reference

template<typename MutexT, typename RecurseCountsT = ROOT::Internal::RecurseCounts>
class ROOT::TRWMutexImp< MutexT, RecurseCountsT >

Definition at line 22 of file TRWMutexImp.h.

Public Member Functions

void Apply (std::unique_ptr< StateDelta > &&delta) override
 Apply the mutex state delta. More...
 
TVirtualRWMutexFactory (Bool_t=kFALSE) override
 Create mutex and return pointer to it. More...
 
std::unique_ptr< StateGetStateBefore () override
 Get the mutex state before the current lock was taken. More...
 
TClassIsA () const override
 
Hint_t * ReadLock () override
 Take the Read Lock of the mutex. More...
 
void ReadUnLock (Hint_t *) override
 Release the read lock of the mutex. More...
 
std::unique_ptr< StateDeltaRewind (const State &earlierState) override
 Restore the mutex state to state. More...
 
void Streamer (TBuffer &R__b) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Hint_t * WriteLock () override
 Take the Write Lock of the mutex. More...
 
void WriteUnLock (Hint_t *) override
 Release the read lock of the mutex. More...
 
- Public Member Functions inherited from ROOT::TVirtualRWMutex
virtual void Apply (std::unique_ptr< StateDelta > &&delta)=0
 
Int_t CleanUp () override
 
TVirtualRWMutexFactory (Bool_t=kFALSE) override=0
 
virtual std::unique_ptr< StateGetStateBefore ()=0
 
TClassIsA () const override
 
Int_t Lock () override
 
virtual Hint_t * ReadLock ()=0
 
virtual void ReadUnLock (Hint_t *)=0
 
virtual std::unique_ptr< StateDeltaRewind (const State &earlierState)=0
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
Int_t TryLock () override
 
Int_t UnLock () override
 
virtual Hint_t * WriteLock ()=0
 
virtual void WriteUnLock (Hint_t *)=0
 
- Public Member Functions inherited from TVirtualMutex
 TVirtualMutex (Bool_t=kFALSE)
 
virtual ~TVirtualMutex ()
 
Int_t Acquire ()
 
virtual Int_t CleanUp ()=0
 
virtual TVirtualMutexFactory (Bool_t=kFALSE)=0
 
virtual TClassIsA () const
 
virtual Int_t Lock ()=0
 
Int_t Release ()
 
virtual void Streamer (TBuffer &)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual Int_t TryLock ()=0
 
virtual Int_t UnLock ()=0
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from ROOT::TVirtualRWMutex
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TVirtualMutex
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

Private Attributes

ROOT::TReentrantRWLock< MutexT, RecurseCountsT > fMutexImp
 

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

Inheritance diagram for ROOT::TRWMutexImp< MutexT, RecurseCountsT >:
[legend]

Member Function Documentation

◆ Apply()

template<typename MutexT , typename RecurseCountsT >
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Apply ( std::unique_ptr< StateDelta > &&  delta)
overridevirtual

Apply the mutex state delta.

In pseudo-code: current_lock_count += delta;

Implements ROOT::TVirtualRWMutex.

Definition at line 95 of file TRWMutexImp.cxx.

◆ Class()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
static TClass * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Class ( )
inlinestatic
Returns
TClass describing this class

Definition at line 36 of file TRWMutexImp.h.

◆ Class_Name()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
static const char * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Class_Name ( )
inlinestatic
Returns
Name of this class

Definition at line 36 of file TRWMutexImp.h.

◆ Class_Version()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
static constexpr Version_t ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 36 of file TRWMutexImp.h.

◆ DeclFileName()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
static const char * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 36 of file TRWMutexImp.h.

◆ Factory()

template<typename MutexT , typename RecurseCountsT >
TVirtualRWMutex * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Factory ( Bool_t  = kFALSE)
overridevirtual

Create mutex and return pointer to it.

Implements ROOT::TVirtualRWMutex.

Definition at line 67 of file TRWMutexImp.cxx.

◆ GetStateBefore()

template<typename MutexT , typename RecurseCountsT >
std::unique_ptr< TVirtualRWMutex::State > ROOT::TRWMutexImp< MutexT, RecurseCountsT >::GetStateBefore
overridevirtual

Get the mutex state before the current lock was taken.

This function must only be called while the mutex is locked.

Implements ROOT::TVirtualRWMutex.

Definition at line 106 of file TRWMutexImp.cxx.

◆ IsA()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
TClass * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from ROOT::TVirtualRWMutex.

Definition at line 36 of file TRWMutexImp.h.

◆ ReadLock()

template<typename MutexT , typename RecurseCountsT >
TVirtualRWMutex::Hint_t * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::ReadLock
overridevirtual

Take the Read Lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 31 of file TRWMutexImp.cxx.

◆ ReadUnLock()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::ReadUnLock ( Hint_t *  )
overridevirtual

Release the read lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 49 of file TRWMutexImp.cxx.

◆ Rewind()

template<typename MutexT , typename RecurseCountsT >
std::unique_ptr< TVirtualRWMutex::StateDelta > ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Rewind ( const State earlierState)
overridevirtual

Restore the mutex state to state.

This function must only be called while the mutex is locked. Returns the DeltaState between now and the resulting state (i.e. lock count before state), such that the difference can be re-applied using Apply(). In pseudo-code: delta = current_lock_count - earlierState.lock_count; current_lock_count -= delta; return delta;

Implements ROOT::TVirtualRWMutex.

Definition at line 84 of file TRWMutexImp.cxx.

◆ Streamer()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::Streamer ( TBuffer R__b)
inlineoverridevirtual

Reimplemented from ROOT::TVirtualRWMutex.

Definition at line 36 of file TRWMutexImp.h.

◆ StreamerNVirtual()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 36 of file TRWMutexImp.h.

◆ WriteLock()

template<typename MutexT , typename RecurseCountsT >
TVirtualRWMutex::Hint_t * ROOT::TRWMutexImp< MutexT, RecurseCountsT >::WriteLock
overridevirtual

Take the Write Lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 40 of file TRWMutexImp.cxx.

◆ WriteUnLock()

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
void ROOT::TRWMutexImp< MutexT, RecurseCountsT >::WriteUnLock ( Hint_t *  )
overridevirtual

Release the read lock of the mutex.

Implements ROOT::TVirtualRWMutex.

Definition at line 58 of file TRWMutexImp.cxx.

Member Data Documentation

◆ fMutexImp

template<typename MutexT , typename RecurseCountsT = ROOT::Internal::RecurseCounts>
ROOT::TReentrantRWLock<MutexT, RecurseCountsT> ROOT::TRWMutexImp< MutexT, RecurseCountsT >::fMutexImp
private

Definition at line 23 of file TRWMutexImp.h.


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