agency::concurrent_execution_policy Class Reference

Encapsulates requirements for creating groups of concurrent execution agents. More...

Inheritance diagram for agency::concurrent_execution_policy:
agency::basic_execution_policy< concurrent_agent, concurrent_executor, concurrent_execution_policy >

Additional Inherited Members

- Public Types inherited from agency::basic_execution_policy< concurrent_agent, concurrent_executor, concurrent_execution_policy >
using execution_agent_type = concurrent_agent
 The type of execution agent associated with this basic_execution_policy.
 
using executor_type = concurrent_executor
 The type of executor associated with this basic_execution_policy.
 
using param_type = typename execution_agent_traits< execution_agent_type >::param_type
 The type of this execution policy's parameterization.
 
- Public Member Functions inherited from agency::basic_execution_policy< concurrent_agent, concurrent_executor, concurrent_execution_policy >
 basic_execution_policy ()=default
 The default constructor default constructs this execution policy's associated executor and parameterization.
 
 basic_execution_policy (const param_type &param, const executor_type &executor=executor_type{})
 This constructor constructs a new basic_execution_policy given a parameterization and executor. More...
 
const param_typeparam () const
 Returns this execution policy's parameterization.
 
executor_typeexecutor () const
 Returns this execution policy's associated executor.
 
auto on (const OtherExecutor &exec) const -> decltype(replace_executor(*this, exec))
 Replaces this execution policy's executor with another. More...
 
see_below operator() (Arg1 &&arg1, Args &&...args) const
 Reparameterizes this execution policy. More...
 

Detailed Description

When used as a control structure parameter, concurrent_execution_policy requires the creation of a group of execution agents which execute concurrently. Agents in such a group are guaranteed to make forward progress.

The type of execution agent concurrent_execution_policy induces is concurrent_agent, and the type of its associated executor is concurrent_executor.

See also
Execution Policies
basic_execution_policy
con
concurrent_agent
concurrent_executor
concurrent_execution_tag