W3cubDocs

/C++

std::barrier<CompletionFunction>::arrive

[[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.

Parameters

n - the value by which the expected count is decreased

Return value

The constructed arrival_token object.

Exceptions

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

Notes

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

Example

See also

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/barrier/arrive