Namespaces
Variants
Views
Actions

std::barrier<CompletionFunction>::arrive

From cppreference.com
< cpp‎ | thread‎ | barrier
 
 
Concurrency support library
Threads
(C++11)
(C++20)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Mutual exclusion
(C++11)
(C++11)  
Generic lock management
(C++11)
(C++11)
(C++11)
(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)
(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
 
 
[[nodiscard]] arrival_token arrive( std::ptrdiff_t n = 1 );
(since C++20)

Constructs an arrival_token object associated with the phase synchronization point for the current phase. Then, decrements the expected count by n.

This function executes atomically. The call to this function strongly happens-before the start of the phase completion step for the current phase.

The behavior is undefined if n is less than or equal to 0 or greater than the expected count for the current barrier phase.

Contents

[edit] Parameters

n - the value by which the expected count is decreased

[edit] Return value

The constructed arrival_token object.

[edit] Exceptions

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

[edit] Notes

This function can cause the completion step for the current phase to start.

[edit] Example

[edit] See also

blocks at the phase synchronization point until its phase completion step is run
(public member function) [edit]