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 |