An object of type
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
unique_lock object
. Objects of type
unique_lock are not
copyable but are movable
. The behavior of a program is undefined if the contained pointer
pm is not null and the lockable object pointed
to by
pm does not exist for the entire remaining
lifetime (
[basic.life]) of the
unique_lock object
.