2 #include <hpda/extractor/raw_data.h>
3 #include <hpda/output/output_base.h>
10 template <
typename InputObjType>
13 typedef ::hpda::output::internal::output_base<InputObjType>
base;
15 typedef ::hpda::extractor::internal::raw_data_impl<InputObjType>
stream_type;
22 m_streams.push_back(std::unique_ptr<stream_type>(
new stream_type()));
23 auto ret = m_streams.back().get();
24 ret->set_engine(base::get_engine());
25 ret->add_predecessor(
this);
29 virtual bool process() {
30 if (!base::has_input_value()) {
33 auto t = base::input_value();
34 for (
auto &it : m_streams) {
35 it->add_data(t.make_copy());
37 base::consume_input_value();
42 std::vector<std::unique_ptr<stream_type>> m_streams;
45 template <
typename... ARGS>