explicit lock_guard( mutex_type& m );
lock_guard( mutex_type& m, std::adopt_lock_t t );
lock_guard( const lock_guard& ) = delete;
Acquires ownership of the given mutex
1) Effectively calls m.lock(). The behavior is undefined if
mis not a recursive mutex and the current thread already owns
2) Acquires ownership of the mutex m without attempting to lock it. The behavior is undefined if the current thread does not own
3) Copy constructor is deleted.
The behavior is undefined if
m is destroyed before the
lock_guard object is.
|m||-||mutex to acquire ownership of|
|t||-||tag parameter used to select non-locking version of the constructor|
1) Throws any exceptions thrown by m.lock()
2) Throws nothing