std::unique_lock (3) - Linux Manuals
std::unique_lock: std::unique_lock
NAME
std::unique_lock - std::unique_lock
Synopsis
Defined in header <mutex>
template< class Mutex > (since C++11)
class unique_lock;
The class unique_lock is a general-purpose mutex ownership wrapper allowing deferred locking, time-constrained attempts at locking, recursive locking, transfer of lock ownership, and use with condition variables.
The class unique_lock is movable, but not copyable -- it meets the requirements of MoveConstructible and MoveAssignable but not of CopyConstructible or CopyAssignable.
The class unique_lock meets the BasicLockable requirements. If Mutex meets the Lockable requirements, unique_lock also meets the Lockable requirements (ex.: can be used in std::lock); if Mutex meets the TimedLockable requirements, unique_lock also meets the TimedLockable requirements.
Template parameters
Mutex - the type of the mutex to lock. The type must meet the BasicLockable requirements
Member types
Type Definition
mutex_type Mutex
Member functions
constructor (public member function)
destructor (public member function)
operator= (public member function)
Locking
lock (public member function)
try_lock (public member function)
try_lock_for (public member function)
try_lock_until (public member function)
unlock (public member function)
Modifiers
swap (public member function)
release (public member function)
Observers
mutex (public member function)
owns_lock (public member function)
operator_bool (public member function)
Non-member functions
std::swap(std::unique_lock) specialization of std::swap for unique_lock
(C++11)
Example
// Run this code