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 |