std::unique_lock::unique_lock
From cppreference.com
                    
                                        
                    < cpp | thread | unique lock
                    
                                                            
                    |   unique_lock();  | 
(1) | (since C++11) | 
|   unique_lock( unique_lock&& other );  | 
(2) | (since C++11) | 
|   explicit unique_lock( mutex_type& m );  | 
(3) | (since C++11) | 
|   unique_lock( mutex_type& m, std::defer_lock_t t );  | 
(4) | (since C++11) | 
|   unique_lock( mutex_type& m, std::try_to_lock_t t );  | 
(5) | (since C++11) | 
|   unique_lock( mutex_type& m, std::adopt_lock_t t );  | 
(6) | (since C++11) | 
|   template< class Rep, class Period > unique_lock( mutex_type& m,   | 
(7) | (since C++11) | 
|   template< class Clock, class Period > unique_lock( mutex_type& m,   | 
(8) | (since C++11) | 
Constructs the lock optionally locking the supplied mutex.
1) Constructs the lock with no associated mutex.
2) Move constructor. Initializes the state with the contents of other.
3-8) Constructs the lock with m as the associated mutex. Additionally:
- 3) Locks the associated mutex by calling m.lock().
 
- 4) Does not lock the associated mutex.
 
- 5) Tries to lock the associated mutex without blocking by calling m.trylock().
 
- 6) Assumes the calling thread already owns m.
 
- 7) Tries to lock the associated mutex. Blocks until specified timeout_duration has elapsed or the lock is acquired, whichever comes first. May block for longer than timeout_duration.
 
- 8) Tries to lock the associated mutex. Blocks until specified timeout_time has been reached or the lock is acquired, whichever comes first. May block for longer than until timeout_time has been reached.
 
[edit] Parameters
| other | - | another unique_lock to initialize the state with | 
| m | - | mutex to associate with the lock and optionally acquire ownership of | 
| t | - | tag parameter used to select constructors with different locking strategies | 
| timeout_duration | - | maximum duration to block for | 
| timeout_time | - | maximum time point to block until | 
[edit] Exceptions
1-2)3)
| This section is incomplete | 
5-8)
| This section is incomplete |