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 Duration > 
unique_lock( mutex_type& m,   | 
(8) | (since C++11) | 
Constructs a unique_lock, optionally locking the supplied mutex.
1) Constructs a unique_lock with no associated mutex.
2) Move constructor. Initializes the unique_lock with the contents of other.
3-8) Constructs a unique_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.try_lock().
 
- 6) Assumes the calling thread already owns 
m. 
- 7) Tries to lock the associated mutex. Blocks until specified 
timeout_durationhas elapsed or the lock is acquired, whichever comes first. May block for longer thantimeout_duration. 
- 8) Tries to lock the associated mutex. Blocks until specified 
timeout_timehas been reached or the lock is acquired, whichever comes first. May block for longer than untiltimeout_timehas 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, 4)[edit] Example
| This section is incomplete Reason: no example  |