9 #ifndef __UT_ParallelPipeline__
10 #define __UT_ParallelPipeline__
12 #include <tbb/pipeline.h>
14 namespace UT_ParallelPipeline
21 template<
typename Receives,
typename Prov
ides>
22 using Filter = tbb::filter_t<Receives, Provides>;
40 template<
typename Receives,
typename Prov
ides,
typename Body>
44 return tbb::make_filter<Receives, Provides>(
59 return tbb::parallel_pipeline(max_number_of_live_tokens, filter_chain);
62 #endif // __UT_ParallelPipeline__
void UTrunParallelPipeline(size_t max_number_of_live_tokens, const UT_ParallelPipeline::Filter< void, void > &filter_chain)
Run the pipeline.
tbb::filter_t< Receives, Provides > Filter
A filter (task) that will make up part of the pipeline.
Mode
The execution mode of a filter.
tbb::flow_control FlowControl
The control to signal end-of-input for the pipeline.
UT_ParallelPipeline::Filter< Receives, Provides > UTmakeParallelPipelineFilter(UT_ParallelPipeline::Mode mode, const Body &body)
Create a filter (task) that will make up part of the pipeline.