30template <
typename MutexT,
typename RecurseCountsT>
33 return fMutexImp.ReadLock();
39template <
typename MutexT,
typename RecurseCountsT>
42 return fMutexImp.WriteLock();
48template <
typename MutexT,
typename RecurseCountsT>
51 fMutexImp.ReadUnLock(hint);
57template <
typename MutexT,
typename RecurseCountsT>
60 fMutexImp.WriteUnLock(hint);
66template <
typename MutexT,
typename RecurseCountsT>
82template <
typename MutexT,
typename RecurseCountsT>
83std::unique_ptr<TVirtualRWMutex::StateDelta>
86 return fMutexImp.Rewind(earlierState);
94template <
typename MutexT,
typename RecurseCountsT>
97 fMutexImp.Apply(std::move(delta));
104template <
typename MutexT,
typename RecurseCountsT>
105std::unique_ptr<TVirtualRWMutex::State>
108 return fMutexImp.GetStateBefore();
void Apply(std::unique_ptr< StateDelta > &&delta) override
Apply the mutex state delta.
void WriteUnLock(Hint_t *) override
Release the read lock of the mutex.
std::unique_ptr< StateDelta > Rewind(const State &earlierState) override
Restore the mutex state to state.
Hint_t * WriteLock() override
Take the Write Lock of the mutex.
std::unique_ptr< State > GetStateBefore() override
Get the mutex state before the current lock was taken.
Hint_t * ReadLock() override
Take the Read Lock of the mutex.
TVirtualRWMutex * Factory(Bool_t=kFALSE) override
Create mutex and return pointer to it.
void ReadUnLock(Hint_t *) override
Release the read lock of the mutex.
Namespace for new ROOT classes and functions.
Earlier lock state as returned by GetState() that can be passed to Restore()