agency::concurrent_execution_policy Class Reference
Encapsulates requirements for creating groups of concurrent execution agents. More...
Inheritance diagram for agency::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 ¶m, const executor_type &executor=executor_type{}) | |
This constructor constructs a new basic_execution_policy given a parameterization and executor. More... | |
const param_type & | param () const |
Returns this execution policy's parameterization. | |
executor_type & | executor () 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