21 #include <shared_mutex>
45 _rw_lock.lock_shared ();
49 return _rw_lock.try_lock_shared ();
53 _rw_lock.unlock_shared ();
62 return _rw_lock.try_lock ();
84 _rwlock.reader_lock ();
90 _locked = _rwlock.reader_trylock ();
96 _rwlock.reader_unlock ();
121 _rwlock.writer_lock ();
127 _locked = _rwlock.writer_trylock ();
133 _rwlock.writer_unlock ();
ReaderLock(RWLock &rwlock, RWLock::LockFlags m=Lock)
ReaderLock(RWLock::ReaderLock const &)=delete
WriterLock(RWLock &rwlock, RWLock::LockFlags m=Lock)
WriterLock(RWLock::WriterLock const &)=delete
std::shared_mutex _rw_lock
RWLock(const RWLock &)=delete