table of contents
        
      
      
    | 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,
  
   CompletionFunction f = (1) (since C++20)
  
   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.
| 2024.06.10 | http://cppreference.com |