std::barrier<CompletionFunction>::wait

From cppreference.com
< cpp‎ | thread‎ | barrier
 
 
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
 
 
void wait( arrival_token&& arrival ) const;
(since C++20)

If arrival is associated with the phase synchronization point for the current phase of *this, blocks at the synchronization point associated with arrival until the phase completion step of the synchronization point's phase is run.

Otherwise, if arrival is associated with the phase synchronization point for the immediately preceding phase of *this, returns immediately.

Otherwise, i.e. if arrival is associated with the phase synchronization point for an earlier phase of *this or any phase of a barrier object other than *this, the behavior is undefined.

Parameters

arrival - an arrival_token obtained by a previous call to arrive on the same barrier

Return value

(none)

Exceptions

Throws std::system_error with an error code allowed for mutex types on error.

Example

See also

arrives at barrier and decrements the expected count
(public member function)