Scroll to navigation

std::barrier::barrier(3) C++ Standard Libary std::barrier::barrier(3)

NAME

std::barrier::barrier - std::barrier::barrier

Synopsis


constexpr explicit barrier( std::ptrdiff_t expected, (1) (since C++20)
CompletionFunction f = CompletionFunction());
barrier( const barrier & ) = delete; (2) (since C++20)


1) Sets the both initial expected count for each phase and the current expected
count for the first phase to expected, initializes the completion function object
with std::move(f), and then starts the first phase. The behavior is undefined if
expected is negative or greater than max().
2) Copy constructor is deleted. barrier is neither copyable nor movable.

Parameters


expected - initial value of the expected count
f - completion function object to be called on phase completion step

Exceptions


1) Any exception thrown by CompletionFunction's move constructor.

Notes


expected is permitted to be zero. However, calling any non-static member function
other than the destructor on such barrier results in undefined behavior. In other
words, such barrier can only be destroyed.

2022.07.31 http://cppreference.com