2 #include <hpda/processor/processor_base.h>
3 #include <hpda/processor/set/helper/copy_helper.h>
9 template <
typename OutputObjType,
typename CT,
typename KT,
10 typename InputObjType>
12 template <
typename T1,
typename T2,
typename T3,
typename T4>
13 static void add_upper_stream(T1 *upper_stream, T2 &upper_streams, T3 &traits,
16 std::is_same<typename ::ff::util::internal::nt_traits<KT>::type,
19 upper_streams.push_back(upper_stream);
20 traits.push_back([](
functor *p) {
24 return ptr->output_value().template get<KT>();
26 filler.push_back([](
functor *p, OutputObjType &ret) {
34 engine->set_engine(upper_stream->get_engine());
37 engine->add_predecessor(upper_stream);