11#ifndef ROOT_TRWMutexImp
12#define ROOT_TRWMutexImp
21template <
typename MutexT,
typename RecurseCountsT = ROOT::Internal::RecurseCounts>
33 std::unique_ptr<StateDelta>
Rewind(
const State &earlierState)
override;
34 void Apply(std::unique_ptr<StateDelta> &&delta)
override;
#define ClassDefInlineOverride(name, id)
ROOT::TReentrantRWLock< MutexT, RecurseCountsT > fMutexImp
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()