A step collection is logical set of step instances. More...
Public Types | |
typedef UserStep | step_type |
the type of the step as provided by the user | |
typedef Tuner | tuner_type |
the type of the tuner as provided by the user | |
Public Member Functions | |
template<typename Derived > | |
step_collection (context< Derived > &ctxt, const std::string &name, const step_type &userStep, const tuner_type &tnr) | |
constructor which registers collection with given context | |
template<typename DataTag , typename Item , typename ITuner > | |
void | consumes (CnC::item_collection< DataTag, Item, ITuner > &) |
Declare this step-collecation as consumer of given item-collection. | |
template<typename DataTag , typename Item , typename ITuner > | |
void | produces (CnC::item_collection< DataTag, Item, ITuner > &) |
Declare this step-collecation as producer for given item-collection. | |
template<typename ControlTag , typename TTuner > | |
void | controls (CnC::tag_collection< ControlTag, TTuner > &) |
Declare this step-collecation as controller of given tag-collection. |
A step collection is logical set of step instances.
A step-collection must be prescribed by a tag-collection and it can be part of consumer/producer relationships with item-collections. Additionally, it can be the controller in control-dependencies (e.g. produce tags).
step_collection | ( | context< Derived > & | ctxt, |
const std::string & | name, | ||
const step_type & | userStep, | ||
const tuner_type & | tnr | ||
) |
constructor which registers collection with given context
ctxt | the context this collection belongs to |
name | an optional name, used for debug output and tracing |
userStep | an optional user step argument, a copy will be created through copy-construction |
tnr | an optional tuner object which must persist throughout the lifetime of the step-collection by default a default-constructed tuner will be used. |