21 #ifndef GRPPI_PIPELINE_H 22 #define GRPPI_PIPELINE_H 49 template <
typename Execution,
typename Generator,
typename ... Transformers,
50 requires_execution_supported<Execution> = 0>
53 Generator && generate_op,
54 Transformers && ... transform_ops)
56 static_assert(supports_pipeline<Execution>(),
57 "pipeline pattern is not supported by execution type");
58 ex.pipeline(std::forward<Generator>(generate_op),
59 std::forward<Transformers>(transform_ops)...);
72 template <
typename Generator,
typename ... Transformers,
typename Consumer>
74 Generator && generate_op,
75 Transformers && ... transform_ops,
76 Consumer && consume_op)
78 return pipeline_t<Generator,Transformers...,Consumer> (
79 std::forward<Generator>(generate_op),
80 std::forward<Transformers>(transform_ops)...,
81 std::forward<Consumer>(consume_op));
Definition: callable_traits.h:26
void pipeline(const Execution &ex, Generator &&generate_op, Transformers &&...transform_ops)
Invoke Pipeline pattern on a data stream.
Definition: pipeline.h:51
Representation of pipeline pattern. Represents a pipeline with multiple chained transformers.
Definition: pipeline_pattern.h:34