Subordination
A framework for distributed programming
io_pipeline.hh
1 #ifndef SUBORDINATION_PPL_IO_PIPELINE_HH
2 #define SUBORDINATION_PPL_IO_PIPELINE_HH
3 
4 #include <subordination/ppl/parallel_pipeline.hh>
5 
6 namespace sbn {
7 
8  template<class T>
9  struct io_pipeline: public parallel_pipeline<T> {
10 
12  using typename base_pipeline::kernel_type;
13  using typename base_pipeline::lock_type;
14 
15  inline
16  io_pipeline(io_pipeline&& rhs) noexcept:
17  base_pipeline(std::move(rhs))
18  {}
19 
21  inline
22  io_pipeline() noexcept:
23  io_pipeline(sys::io_concurrency()*2u)
24  {}
25 
26  inline explicit
27  io_pipeline(unsigned concurrency) noexcept:
28  base_pipeline(concurrency)
29  {}
30 
31  io_pipeline(const io_pipeline&) = delete;
32 
34  operator=(const io_pipeline&) = delete;
35 
36  ~io_pipeline() = default;
37 
38  };
39 
40 }
41 
42 #endif // vim:filetype=cpp
io_pipeline() noexcept
use only one thread to read/write data
Definition: io_pipeline.hh:22
Definition: parallel_pipeline.hh:9
Definition: io_pipeline.hh:9