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;
 
  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 
#define ClassDefNV(name, id)
 
#define ClassDefOverride(name, id)
 
TReadLockGuard(const TReadLockGuard &)=delete
 
TReadLockGuard & operator=(const TReadLockGuard &)=delete
 
TVirtualRWMutex *const fMutex
 
TReadLockGuard(TVirtualRWMutex *mutex)
 
TVirtualRWMutex::Hint_t * fHint
 
virtual void ReadUnLock(Hint_t *)=0
 
virtual std::unique_ptr< StateDelta > Rewind(const State &earlierState)=0
 
virtual Hint_t * WriteLock()=0
 
TVirtualRWMutex * Factory(Bool_t=kFALSE) override=0
 
virtual void Apply(std::unique_ptr< StateDelta > &&delta)=0
 
virtual Hint_t * ReadLock()=0
 
virtual std::unique_ptr< State > GetStateBefore()=0
 
virtual void WriteUnLock(Hint_t *)=0
 
TWriteLockGuard(TVirtualRWMutex *mutex)
 
TWriteLockGuard & operator=(const TWriteLockGuard &)=delete
 
TVirtualRWMutex *const fMutex
 
TWriteLockGuard(const TWriteLockGuard &)=delete
 
TVirtualRWMutex::Hint_t * fHint
 
This class implements a mutex interface.
 
R__EXTERN TVirtualRWMutex * gCoreMutex
 
State as returned by GetStateDelta() that can be passed to Restore()
 
Earlier lock state as returned by GetState() that can be passed to Restore()