mrdocs::ExecutorGroupBase

Base class that owns a pool of execution agents and a shared work queue.

Synopsis

Declared in <mrdocs/Support/ExecutorGroup.hpp>

class ExecutorGroupBase;

Type Aliases

NameDescription
arg_t Argument wrapper propagated from ThreadPool.

Member Functions

NameDescription
ExecutorGroupBase [constructor]Move-construct from another group.
~ExecutorGroupBase [destructor]Destroy the executor group, waiting for outstanding work.
wait Block until all work has completed.

Protected Types

NameDescription
AnyAgent Type-erased agent holder used by the base class.
Impl Opaque implementation shared by all ExecutorGroup instantiations.

Protected Member Functions

NameDescription
ExecutorGroupBase [constructor]Construct with a backing thread pool.
post Queue work to run on the group agents.
run Execute queued work until empty.

Protected Data Members

NameDescription
agents_ Agents owned by the group.
impl_ Opaque implementation pointer shared by all ExecutorGroup instantiations.
work_ Pending work posted to the group.

Derived Classes

NameDescription
ExecutorGroup A set of execution agents for performing concurrent work.