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().