Interface Documentation
Version: invalid
Classes | Public Member Functions | Friends | List of all members
flecsi::control< ControlPolicy >::action< Target, ControlPoint > Struct Template Reference

#include <control.hh>

Classes

struct  dependency
 

Public Member Functions

template<typename... Args>
 action (Args &&... args)
 
template<target_type U, control_points_enum V>
dependency add (action< U, V > const &from)
 
template<target_type F>
void push_back (action< F, ControlPoint > const &from)
 

Friends

template<target_type U, control_points_enum V>
struct action
 

Detailed Description

template<typename ControlPolicy>
template<target_type Target, control_points_enum ControlPoint>
struct flecsi::control< ControlPolicy >::action< Target, ControlPoint >

The action type provides a mechanism to add execution elements to the FleCSI control model.

Template Parameters
TargetThe execution target.
ControlPointThe control point under which this action is executed.

Constructor & Destructor Documentation

◆ action()

template<typename ControlPolicy >
template<target_type Target, control_points_enum ControlPoint>
template<typename... Args>
flecsi::control< ControlPolicy >::action< Target, ControlPoint >::action ( Args &&...  args)
inline

Add a function to be executed under the specified control point.

Parameters
targetThe target function.
labelThe label for the function. This is used to label the node when the control model is printed with graphviz.
argsA variadic list of arguments that are forwarded to the user-defined node type, as spcified in the control policy.

Member Function Documentation

◆ add()

template<typename ControlPolicy >
template<target_type Target, control_points_enum ControlPoint>
template<target_type U, control_points_enum V>
dependency flecsi::control< ControlPolicy >::action< Target, ControlPoint >::add ( action< U, V > const &  from)
inline

Add a dependency on the given action.

Parameters
fromThe upstream node in the dependency.
Note
It is illegal to add depencdencies between actions under different control points. Attempting to do so will result in a compile-time error.

The documentation for this struct was generated from the following file: