30 template <
typename MutexT,
typename RecurseCountsT>
31 TVirtualRWMutex::Hint_t *TRWMutexImp<MutexT, RecurseCountsT>::ReadLock()
33 return fMutexImp.ReadLock();
39 template <
typename MutexT,
typename RecurseCountsT>
40 TVirtualRWMutex::Hint_t *TRWMutexImp<MutexT, RecurseCountsT>::WriteLock()
42 return fMutexImp.WriteLock();
48 template <
typename MutexT,
typename RecurseCountsT>
49 void TRWMutexImp<MutexT, RecurseCountsT>::ReadUnLock(TVirtualRWMutex::Hint_t *hint)
51 fMutexImp.ReadUnLock(hint);
57 template <
typename MutexT,
typename RecurseCountsT>
58 void TRWMutexImp<MutexT, RecurseCountsT>::WriteUnLock(TVirtualRWMutex::Hint_t *hint)
60 fMutexImp.WriteUnLock(hint);
66 template <
typename MutexT,
typename RecurseCountsT>
67 TVirtualRWMutex *TRWMutexImp<MutexT, RecurseCountsT>::Factory(Bool_t )
69 return new TRWMutexImp();
82 template <
typename MutexT,
typename RecurseCountsT>
83 std::unique_ptr<TVirtualRWMutex::StateDelta>
84 TRWMutexImp<MutexT, RecurseCountsT>::Rewind(
const TVirtualRWMutex::State &earlierState)
86 return fMutexImp.Rewind(earlierState);
94 template <
typename MutexT,
typename RecurseCountsT>
95 void TRWMutexImp<MutexT, RecurseCountsT>::Apply(std::unique_ptr<TVirtualRWMutex::StateDelta> &&delta)
97 fMutexImp.Apply(std::move(delta));
104 template <
typename MutexT,
typename RecurseCountsT>
105 std::unique_ptr<TVirtualRWMutex::State>
106 TRWMutexImp<MutexT, RecurseCountsT>::GetStateBefore()
108 return fMutexImp.GetStateBefore();
111 template class TRWMutexImp<TMutex>;
112 template class TRWMutexImp<ROOT::TSpinMutex>;
113 template class TRWMutexImp<std::mutex>;
114 template class TRWMutexImp<TMutex, ROOT::Internal::UniqueLockRecurseCount>;
115 template class TRWMutexImp<ROOT::TSpinMutex, ROOT::Internal::UniqueLockRecurseCount>;