Implements std::shared_lock interface of C++14. More...
#include <chsvthrd.h>
Public Types | |
| typedef Mutex | mutex_type |
| The underlying shared_mutex. | |
Public Member Functions | |
| shared_lock ()=default | |
| Default constructor which creates a shared_lock object with no associated mutex. | |
| shared_lock (shared_lock &&other) noexcept | |
| A move constructor. More... | |
| shared_lock (mutex_type &m) | |
| A constructor associating the specified shared_mutex with the shared_lock object. The utex is locked by the constructor for shared ownership. More... | |
| shared_lock (mutex_type &m, std::defer_lock_t t) noexcept | |
| A constructor associating the specified shared_mutex with the shared_lock object. The mutex is not locked. More... | |
| shared_lock (mutex_type &m, std::try_to_lock_t t) | |
| A constructor associating the specified shared_mutex with the shared_lock object. The constructor attempts to gain ownership of the mutex calling the shared_mutex::try_lock_shared method. Use the shared_lock::owns_lock method to acquire the result. More... | |
| shared_lock (mutex_type &m, std::adopt_lock_t t) | |
| A constructor associating the specified shared_mutex with the shared_lock object. The constructor assumes that the mutex is already locked by the calling thread. More... | |
| ~shared_lock () | |
| The destructor. If the shared_lock object owns an associated mutex, its shared_mutex::unlock_shared is called. | |
| shared_lock & | operator= (shared_lock &&other) noexcept |
| Transfers ownership of a mutex from another shared_lock object and leaves the other object with no associated mutex. More... | |
| void | lock () |
| Calls shared_mutex::lock_shared. | |
| bool | try_lock () |
| Calls shared_mutex::try_lock_shared and returns the result. | |
| void | unlock () |
| Calls shared_mutex::unlock_shared. | |
| void | swap (shared_lock &other) noexcept |
| Swaps state of the shared_lock object with another one. More... | |
| mutex_type * | release () noexcept |
| Returns a pointer to the underlying shared_mutex object in its current state, or null if no mutex is associated with the shared_lock object, and leaves the object with no associated mutex. More... | |
| mutex_type * | mutex () const noexcept |
| Returns a pointer to the underlying shared_mutex object. More... | |
| bool | owns_lock () const noexcept |
| Checks whether the current shared_lock owns its mutex object. More... | |
| operator bool () const noexcept | |
| Checks whether the current shared_lock owns its mutex object. More... | |
Implements std::shared_lock interface of C++14.
| Mutex | a shared_mutex object (e.g. shared_mutex) which satisfies requirements of SharedMutex. |