5#include <vitrio/concurrency/completion.hpp>
6#include <vitrio/concurrency/completion_notifier.hpp>
7#include <vitrio/export.hpp>
65 void notify_done(std::exception_ptr error =
nullptr)
override;
68 void wait()
const override;
74 void get() const override;
78 std::unique_ptr<implementation> m_implementation;
Where a finished unit of work is reported.
Definition completion_notifier.hpp:20
A query-only view of whether one or more units of work have finished.
Definition completion.hpp:18
A completion that resolves once a fixed number of units of work have all reported in.
Definition counting_completion.hpp:39
void get() const override
Wait, then rethrow the first exception recorded, if any.
void notify_done(std::exception_ptr error=nullptr) override
Report that one unit of work has finished.
void wait() const override
Block the calling thread until this is ready.
bool is_ready() const noexcept override
Whether the work behind this has finished.
counting_completion(std::size_t count)
Construct a completion for a known number of units of work.