19 #ifndef SNARK_IMAGING_BURSTY_PIPELINE_H_
20 #define SNARK_IMAGING_BURSTY_PIPELINE_H_
22 #include <tbb/task_scheduler_init.h>
23 #include <tbb/pipeline.h>
24 #include <snark/tbb/bursty_reader.h>
26 namespace snark {
namespace tbb {
29 template<
typename T >
38 unsigned int m_threads;
39 ::tbb::task_scheduler_init m_init;
44 template<
typename T >
46 m_threads( numThread )
50 m_threads = m_init.default_num_threads();
55 template<
typename T >
58 ::tbb::parallel_pipeline( m_threads, reader.filter() & filter );
62 template<
typename T >
65 const ::tbb::filter_t< void, void > f = reader.filter() & filter;
66 while( reader.
wait() )
68 ::tbb::parallel_pipeline( m_threads, f );
76 #endif // SNARK_IMAGING_BURSTY_PIPELINE_H_