Implements a single-use barrier synchronization. More...
#include <chsvthrd.h>
Public Member Functions | |
latch (std::ptrdiff_t count) | |
Constructs a latch for synchronizing the specified number of threads. More... | |
latch (const latch &)=delete | |
Latches are not MoveConstructible. | |
latch & | operator= (const latch &)=delete |
Latches are not MoveAssignable. | |
void | count_down (std::ptrdiff_t n=1) noexcept |
Decrements a number of threads to wait for arrival to the synchronization points by a specified number. More... | |
bool | try_wait () const noexcept |
Tests whether the latch is open without blocking the caller or modifying the latch. More... | |
void | wait () const |
Blocks the calling thread until the latch is opened. | |
void | arrive_and_wait (std::ptrdiff_t n=1) |
Releases the latch by a specified number of threads and blocks the caller until the latch is opened. More... | |
Static Public Member Functions | |
static constexpr std::ptrdiff_t() | max () noexcept |
Implements a single-use barrier synchronization.
Implements a C++20 std::latch interface using C++14.
The reusable barrier is implemented by the barrier class.