|
YACLib
C++ library for concurrent tasks execution
|
#include <shared_timed_mutex.hpp>
Public Member Functions | |
| template<typename Rep , typename Period > | |
| bool | try_lock_for (const std::chrono::duration< Rep, Period > &timeout_duration) |
| template<typename Clock , typename Duration > | |
| bool | try_lock_until (const std::chrono::time_point< Clock, Duration > &timeout_time) |
| template<typename Rep , typename Period > | |
| bool | try_lock_shared_for (const std::chrono::duration< Rep, Period > &timeout_duration) |
| template<typename Clock , typename Duration > | |
| bool | try_lock_shared_until (const std::chrono::time_point< Clock, Duration > &timeout_time) |
Public Member Functions inherited from yaclib::detail::fiber::SharedMutex | |
| SharedMutex ()=default | |
| ~SharedMutex () noexcept=default | |
| SharedMutex (const SharedMutex &)=delete | |
| SharedMutex & | operator= (const SharedMutex &)=delete |
| void | lock () |
| bool | try_lock () noexcept |
| void | unlock () noexcept |
| void | lock_shared () |
| bool | try_lock_shared () |
| void | unlock_shared () |
| native_handle_type | native_handle () |
Additional Inherited Members | |
Public Types inherited from yaclib::detail::fiber::SharedMutex | |
| using | native_handle_type = void * |
Protected Member Functions inherited from yaclib::detail::fiber::SharedMutex | |
| void | LockHelper () |
| void | SharedLockHelper () |
Protected Attributes inherited from yaclib::detail::fiber::SharedMutex | |
| FiberQueue | _shared_queue |
| FiberQueue | _exclusive_queue |
| std::uint32_t | _shared_owners_count {0} |
| bool | _occupied {false} |
| bool | _exclusive_mode {false} |
Definition at line 9 of file shared_timed_mutex.hpp.
|
inline |
Definition at line 16 of file shared_timed_mutex.hpp.
References yaclib::MakeContract().
|
inline |
Definition at line 26 of file shared_timed_mutex.hpp.
References yaclib::MakeContract().
|
inline |
Definition at line 31 of file shared_timed_mutex.hpp.
References yaclib::MakeContract().
|
inline |
Definition at line 21 of file shared_timed_mutex.hpp.
References yaclib::MakeContract().