Types for defining, extending, and executing control-flow graphs. More...
Classes | |
struct | control< P > |
The control type provides a control model for specifying a set of control points as a coarse-grained control flow graph, with each node of the graph specifying a set of actions as a directed acyclic graph (DAG). More... | |
struct | control_base |
Base class for providing default implementations for optional interfaces. More... | |
struct | control_policy |
An example control policy that is not really implemented. More... | |
struct | cycle< Predicate, ControlPoints > |
Allow users to define cyclic control points. More... | |
struct | point_walker< P > |
The point_walker class allows execution of statically-defined control points. More... | |
Typedefs | |
using | call |
A trivial control model that calls a single function. | |
template<auto CP> | |
using | control_point |
A control point for application use. | |
template<bool(*)() P, typename... CP> | |
using | cycle |
A control-flow cycle. | |
Functions | |
const char * | operator* (control_policy::control_points_enum) |
A control policy must provide names for its control points. | |
Types for defining, extending, and executing control-flow graphs.
using control_point |
A control point for application use.
CP | control point enumerator |
using cycle |
A control-flow cycle.
P | tested before each iteration |
CP | control_point or cycle types |
using call |
A trivial control model that calls a single function.
Its control policy object can be constructed from any callable with the signature int()
.
const char * operator* | ( | control_policy::control_points_enum | ) |
A control policy must provide names for its control points.