unique_lock providing a const pointer access to the synchronized value type. More...
#include <synchronized_value.hpp>


Public Types | |
| typedef T | value_type |
| typedef Lockable | mutex_type |
Public Member Functions | |
| const_unique_lock_ptr (T const &val, Lockable &mtx) | |
| const_unique_lock_ptr (T const &val, Lockable &mtx, adopt_lock_t) BOOST_NOEXCEPT | |
| const_unique_lock_ptr (T const &val, Lockable &mtx, defer_lock_t) BOOST_NOEXCEPT | |
| const_unique_lock_ptr (T const &val, Lockable &mtx, try_to_lock_t) BOOST_NOEXCEPT | |
| const_unique_lock_ptr (BOOST_THREAD_RV_REF(const_unique_lock_ptr) other) BOOST_NOEXCEPT | |
| Move constructor. More... | |
| ~const_unique_lock_ptr () | |
| If owns calls unlock() on the owned mutex. More... | |
| const T * | operator-> () const |
| const T & | operator* () const |
| void | swap (unique_lock &other) BOOST_NOEXCEPT |
| void | lock () |
| bool | try_lock () |
| void | unlock () |
| operator bool () const BOOST_NOEXCEPT | |
| bool | owns_lock () const BOOST_NOEXCEPT |
| Lockable * | mutex () const BOOST_NOEXCEPT |
| Lockable * | release () BOOST_NOEXCEPT |
Protected Attributes | |
| T const & | value_ |
unique_lock providing a const pointer access to the synchronized value type.
An object of type const_unique_lock_ptr is a unique_lock that provides a const pointer access to the synchronized value type. As unique_lock controls the ownership of a lockable object within a scope. Ownership of the lockable object may be acquired at construction or after construction, and may be transferred, after acquisition, to another const_unique_lock_ptr object. Objects of type const_unique_lock_ptr are not copyable but are movable. The behavior of a program is undefined if the mutex and the value type pointed do not exist for the entire remaining lifetime of the const_unique_lock_ptr object. The supplied Mutex type shall meet the BasicLockable requirements.
| T | the value type. |
| Lockable | the mutex type protecting the value type. |
| typedef Lockable boost::const_unique_lock_ptr< T, Lockable >::mutex_type |
| typedef T boost::const_unique_lock_ptr< T, Lockable >::value_type |
|
inline |
| value | reference of the value to protect. |
| mtx | reference to the mutex used to protect the value. |
If mutex_type is not a recursive mutex the calling thread does not own the mutex.
locks the mutex mtx, stores a reference to it and to the value type value.
|
inline |
| value | reference of the value to protect. |
| mtx | reference to the mutex used to protect the value. |
| tag | of type adopt_lock_t used to differentiate the constructor. The calling thread own the mutex. stores a reference to it and to the value type value taking ownership. |
|
inline |
| value | reference of the value to protect. |
| mtx | reference to the mutex used to protect the value. |
| tag | of type defer_lock_t used to differentiate the constructor. stores a reference to it and to the value type value c. |
|
inline |
| value | reference of the value to protect. |
| mtx | reference to the mutex used to protect the value. |
| tag | of type try_to_lock_t used to differentiate the constructor. If mutex_type is not a recursive mutex the calling thread does not own the mutex. try to lock the mutex mtx, stores a reference to it and to the value type value. |
|
inline |
Move constructor.
takes ownership of the mutex owned by other, stores a reference to the mutex and the value type of other.
|
inline |
If owns calls unlock() on the owned mutex.
|
inlineinherited |
|
inlineinherited |
|
inlineexplicitinherited |
References boost::unique_lock< Mutex >::owns_lock().
|
inline |
References BOOST_ASSERT, boost::unique_lock< Lockable >::owns_lock(), and boost::const_unique_lock_ptr< T, Lockable >::value_.
|
inline |
References BOOST_ASSERT, boost::unique_lock< Lockable >::owns_lock(), and boost::const_unique_lock_ptr< T, Lockable >::value_.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::spirit::x3::unicode::other, and boost::swap().
|
inlineinherited |
|
inlineinherited |
|
protected |