Class Group

Class Documentation

class Group

Declaration: final

A workload handle sharing physical capacity with other groups in its pool.

Dropping a handle does not cancel accepted jobs. Close rejects new work; drain waits for accepted jobs and requires close first. No forced termination. Copies share one group. Submission/close/status are synchronized across producers; keep the physical pool alive until work settles. Same-pool drainage rejects.

Public Functions

template<typename Work>
inline std::future<std::invoke_result_t<std::decay_t<Work>&>> submit(Work &&work) const

Declaration: [[nodiscard]]

void close() const
void drain() const
GroupStatus status() const

Declaration: [[nodiscard]]

GroupPolicy policy() const

Declaration: [[nodiscard]]

void report_diagnostics() const noexcept