Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::scoped...:scoped_lock(3) C++ Standard Libarystd::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
       object 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
       Correct behavior
	  P0739R0  C++17       adopt_lock_t parameter was last,	impeding class
       moved to	first
			     template argument deduction

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::scoped_lock::scoped_lock&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help