home | help
std::scoped...:scoped_lock(3)  C++ Standard Libary std::scoped...:scoped_lock(3)

NAME
     std::scoped_lock::scoped_lock - std::scoped_lock::scoped_lock

Synopsis
	explicit scoped_lock( MutexTypes&... m );	    (1) (since C++17)
	scoped_lock( std::adopt_lock_t, MutexTypes&... m ); (2) (since C++17)
	scoped_lock( const scoped_lock& ) = delete;	    (3) (since C++17)

	Acquires ownership of the given mutexes m.

	1)   If   sizeof...(MutexTypes)   ==  0,  does	nothing.  Otherwise,  if
     sizeof...(MutexTypes)
	==  1,	effectively  calls  m.lock().	Otherwise,   effectively   calls
     std::lock(m...).
	2) Acquires ownership of the mutexes m... without attempting to lock any
     of them.
	The  behavior  is undefined unless the current thread holds a non-shared
     lock (i.e., a
	lock acquired by lock, try_lock,  try_lock_for,  or  try_lock_until)  on
     each object in
	m....
	3) Copy constructor is deleted.

	The  behavior  is undefined if m is destroyed before the scoped_lock ob-
     ject is.

Parameters
	m - mutexes to acquire ownership of

Exceptions
	1) Throws any exceptions thrown by m.lock().
	2) Throws nothing.

	Defect reports

	The following behavior-changing defect	reports  were  applied	retroac-
     tively to
	previously published C++ standards.

	  DR	Applied to		Behavior as published		    Cor-
     rect behavior
	P0739R0  C++17	     adopt_lock_t  parameter  was  last,  impeding class
     moved to first
			   template argument deduction

http://cppreference.com 	   2024.06.10	   std::scoped...:scoped_lock(3)

home | help