home | help
std::condit...variable_any(3)  C++ Standard Libary std::condit...variable_any(3)

NAME
     std::condition_variable_any - std::condition_variable_any

Synopsis
	Defined in header <condition_variable>
	class condition_variable_any;		(since C++11)

	The  condition_variable_any  class  is	a  generalization of std::condi-
     tion_variable.
	Whereas std::condition_variable works only on  std::unique_lock<std::mu-
     tex>,
	condition_variable_any can operate on any lock that meets the BasicLock-
     able
	requirements.

	See std::condition_variable for the description of the semantics of con-
     dition
	variables.

	The class std::condition_variable_any is a StandardLayoutType. It is not
	CopyConstructible, MoveConstructible, CopyAssignable, or MoveAssignable.

	If the lock is std::unique_lock<std::mutex>, std::condition_variable may
     provide
	better performance.

Member functions
	constructor   constructs the object
		      (public member function)
	destructor    destructs the object
		      (public member function)
	operator=     not copy-assignable
	[deleted]     (public member function)

Notification
	notify_one    notifies one waiting thread
		      (public member function)
	notify_all    notifies all waiting threads
		      (public member function)

Waiting
	wait	       blocks the current thread until the condition variable is
     awakened
		      (public member function)
		      blocks the current thread until the condition variable  is
     awakened or
	wait_for      after the specified timeout duration
		      (public member function)
		      blocks  the current thread until the condition variable is
     awakened or
	wait_until    until specified time point has been reached
		      (public member function)

Notes
	std::condition_variable_any can be used with std::shared_lock  in  order
     to wait on a
	std::shared_mutex in shared ownership mode.

	A  possible  use  for  std::condition_variable_any  with custom Lockable
     types is to
	provide convenient interruptible waits: the custom lock operation  would
     both lock
	the  associated  mutex as expected, and also perform the necessary setup
     to notify
	this condition variable when the interrupting signal is received.^[1]

See also
	condition_variable provides  a	condition  variable  associated  with  a
     std::unique_lock
	(C++11) 	   (class)

External links
	 1.  a Anthony Williams (2012, 1st ed./ 2019, 2nd ed.), aC++ Concurrency
     in Actiona,
	    9.2.4 aInterrupting a wait on std::condition_variable_anya.

http://cppreference.com 	   2024.06.10	   std::condit...variable_any(3)

home | help