GrPPI  1.0
Generic and Reusable Parallel Pattern Interface
Functions
Pipeline pattern

Interface for applyinng the Pipeline pattern. More...

Collaboration diagram for Pipeline pattern:

Functions

template<typename Execution , typename Generator , typename ... Transformers, requires_execution_supported< std::decay_t< Execution >> = 0>
void grppi::pipeline (const Execution &ex, Generator &&generate_op, Transformers &&... transform_ops)
 Invoke Pipeline pattern on a data stream. More...
 
template<typename Transformer , typename ... Transformers, requires_execution_not_supported< std::decay_t< Transformer >> = 0>
auto grppi::pipeline (Transformer &&transform_op, Transformers &&... transform_ops)
 Build a composable Pipeline pattern representation that can be composed in other streaming patterns. More...
 

Detailed Description

Interface for applyinng the Pipeline pattern.

Function Documentation

◆ pipeline() [1/2]

template<typename Execution , typename Generator , typename ... Transformers, requires_execution_supported< std::decay_t< Execution >> = 0>
void grppi::pipeline ( const Execution &  ex,
Generator &&  generate_op,
Transformers &&...  transform_ops 
)

Invoke Pipeline pattern on a data stream.

Template Parameters
ExecutionExecution type.
GeneratorCallable type for the stream generator.
TransformersCallable type for each transformation stage.
Parameters
exExecution policy object.
generate_opGenerator operation.
trasnform_opsTransformation operations for each stage.

◆ pipeline() [2/2]

template<typename Transformer , typename ... Transformers, requires_execution_not_supported< std::decay_t< Transformer >> = 0>
auto grppi::pipeline ( Transformer &&  transform_op,
Transformers &&...  transform_ops 
)

Build a composable Pipeline pattern representation that can be composed in other streaming patterns.

Template Parameters
ExecutionExecution policy type.
TransformerCallable type for first transformation stage.
MoreTransformersCallable type for each additional transformation stage.
Parameters
exExecution policy object.
tranform_opFirst stage transformation operation
more_trasnform_opsTransformation operations for each additional stage.