mrdocs::ExecutorGroup

A set of execution agents for performing concurrent work.

Synopsis

template<class Agent>
class ExecutorGroup
    : public ExecutorGroupBase

Base Classes

Name

Description

ExecutorGroupBase

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

Type Aliases

Name

Description

arg_t

Argument wrapper propagated from ThreadPool.

Member Functions

Name

Description

ExecutorGroup [constructor]

Construct a new executor group bound to a thread pool.

async

Submit work to be executed.

emplace

Construct a new agent in the group.

wait

Block until all work has completed.

Protected Types

Name

Description

AnyAgent

Type‐erased agent holder used by the base class.

Impl

Opaque implementation shared by all ExecutorGroup instantiations.

Protected Member Functions

Name

Description

post

Queue work to run on the group agents.

run

Execute queued work until empty.

Protected Data Members

Name

Description

agents_

Agents owned by the group.

impl_

Opaque implementation pointer shared by all ExecutorGroup instantiations.

work_

Pending work posted to the group.

Created with MrDocs