std::experimental::flex_barrier::arrive_and_drop

From cppreference.com
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
void arrive_and_drop();
(concurrency TS)

Arrive at the flex_barrier

The behavior is undefined if the calling thread is not in the set of participating threads of this flex_barrier.

Calls to arrive_and_drop synchronizes with the start of the completion phase of the flex_barrier. If the call blocks, then the completion of the completion phase synchronizes with the return from the call.

Calls to arrive_and_drop and arrive_and_wait never introduce data races with themselves or each other.

Exceptions

Throws nothing.

Notes

The completion phase will be executed even if every participating thread calls arrive_and_drop.

After a thread calls arrive_and_drop on a flex_barrier

See also

arrive at the synchronization point and block
(public member function)