|
ROOT
Reference Guide |
|
Go to the documentation of this file.
12 #ifndef ROOT_TVirtualRWMutex
13 #define ROOT_TVirtualRWMutex
32 class TVirtualRWMutex;
57 std::unique_ptr<ROOT::TVirtualRWMutex::State>
fState;
85 virtual std::unique_ptr<StateDelta>
Rewind(
const State& earlierState) = 0;
86 virtual void Apply(std::unique_ptr<StateDelta> &&delta) = 0;
150 #if defined (_REENTRANT) || defined (WIN32)
152 #define R__READ_LOCKGUARD(mutex) ::ROOT::TReadLockGuard _R__UNIQUE_(R__readguard)(mutex)
153 #define R__READ_LOCKGUARD_NAMED(name,mutex) ::ROOT::TReadLockGuard _NAME2_(R__readguard,name)(mutex)
155 #define R__WRITE_LOCKGUARD(mutex) ::ROOT::TWriteLockGuard _R__UNIQUE_(R__readguard)(mutex)
156 #define R__WRITE_LOCKGUARD_NAMED(name,mutex) ::ROOT::TWriteLockGuard _NAME2_(R__readguard,name)(mutex)
160 #define R__READ_LOCKGUARD(mutex) (void)mutex
161 #define R__READ_LOCKGUARD_NAMED(name,mutex) (void)mutex
163 #define R__WRITE_LOCKGUARD(mutex) (void)mutex
164 #define R__WRITE_LOCKGUARD_NAMED(name,mutex) (void)mutex
virtual std::unique_ptr< StateDelta > Rewind(const State &earlierState)=0
State as returned by GetStateDelta() that can be passed to Restore()
virtual void ReadUnLock(Hint_t *)=0
virtual void WriteUnLock(Hint_t *)=0
virtual void Apply(std::unique_ptr< StateDelta > &&delta)=0
TWriteLockGuard & operator=(const TWriteLockGuard &)=delete
TVirtualRWMutex *const fMutex
This class implements a mutex interface.
TReadLockGuard(TVirtualRWMutex *mutex)
R__EXTERN TVirtualRWMutex * gCoreMutex
std::unique_ptr< ROOT::TVirtualRWMutex::State > fState
State of gCoreMutex when the first interpreter-related function was invoked.
#define ClassDefOverride(name, id)
TReadLockGuard(const TReadLockGuard &)=delete
TWriteLockGuard(const TWriteLockGuard &)=delete
virtual Hint_t * WriteLock()=0
virtual std::unique_ptr< State > GetStateBefore()=0
TVirtualRWMutex::Hint_t * fHint
TReadLockGuard & operator=(const TReadLockGuard &)=delete
TWriteLockGuard(TVirtualRWMutex *mutex)
virtual Hint_t * ReadLock()=0
Earlier lock state as returned by GetState() that can be passed to Restore()
Int_t fRecurseCount
Interpreter-related functions will push the "entry" lock state to *this.
TVirtualRWMutex *const fMutex
TVirtualRWMutex * Factory(Bool_t=kFALSE) override=0
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
TVirtualRWMutex::Hint_t * fHint
#define ClassDefNV(name, id)