12 #ifndef ROOT_TVirtualRWMutex 13 #define ROOT_TVirtualRWMutex 72 virtual std::unique_ptr<StateDelta>
Rewind(
const State& earlierState) = 0;
73 virtual void Apply(std::unique_ptr<StateDelta> &&delta) = 0;
107 if (fMutex) fHint = fMutex->
ReadLock();
137 #if defined (_REENTRANT) || defined (WIN32) 139 #define R__READ_LOCKGUARD(mutex) ::ROOT::TReadLockGuard _R__UNIQUE_(R__readguard)(mutex) 140 #define R__READ_LOCKGUARD_NAMED(name,mutex) ::ROOT::TReadLockGuard _NAME2_(R__readguard,name)(mutex) 142 #define R__WRITE_LOCKGUARD(mutex) ::ROOT::TWriteLockGuard _R__UNIQUE_(R__readguard)(mutex) 143 #define R__WRITE_LOCKGUARD_NAMED(name,mutex) ::ROOT::TWriteLockGuard _NAME2_(R__readguard,name)(mutex) 147 #define R__READ_LOCKGUARD(mutex) (void)mutex 148 #define R__READ_LOCKGUARD_NAMED(name,mutex) (void)mutex 150 #define R__WRITE_LOCKGUARD(mutex) (void)mutex 151 #define R__WRITE_LOCKGUARD_NAMED(name,mutex) (void)mutex virtual std::unique_ptr< StateDelta > Rewind(const State &earlierState)=0
virtual void Apply(std::unique_ptr< StateDelta > &&delta)=0
Namespace for new ROOT classes and functions.
virtual void ReadUnLock(Hint_t *)=0
virtual void WriteUnLock(Hint_t *)=0
This class implements a mutex interface.
TVirtualRWMutex::Hint_t * fHint
R__EXTERN TVirtualRWMutex * gCoreMutex
TWriteLockGuard(TVirtualRWMutex *mutex)
virtual Hint_t * WriteLock()=0
#define ClassDefNV(name, id)
virtual std::unique_ptr< State > GetStateBefore()=0
State as returned by GetStateDelta() that can be passed to Restore()
TVirtualRWMutex::Hint_t * fHint
virtual Hint_t * ReadLock()=0
Earlier lock state as returned by GetState() that can be passed to Restore()
Binding & operator=(OUT(*fun)(void))
#define ClassDefOverride(name, id)
TVirtualRWMutex * Factory(Bool_t=kFALSE) override=0
TVirtualRWMutex *const fMutex
TVirtualRWMutex *const fMutex
TReadLockGuard(TVirtualRWMutex *mutex)