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_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.

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