1 #ifndef WIRECELLTBB_NODEWRAPPER 2 #define WIRECELLTBB_NODEWRAPPER 7 #include <tbb/flow_graph.h> 8 #include <boost/any.hpp> 25 typedef std::tuple<boost::any,boost::any,boost::any>
any_triple;
29 typedef tbb::flow::function_node<boost::any>
sink_node;
51 typedef std::shared_ptr<NodeWrapper>
Node;
55 template<
typename Tuple, std::size_t... Is>
57 return {
dynamic_cast<receiver_type*
>(&tbb::flow::input_port<Is>(jn))... };
60 template<
typename Tuple>
virtual receiver_port_vector receiver_ports()
std::shared_ptr< NodeWrapper > Node
std::tuple< boost::any, boost::any > any_double
tbb::flow::function_node< boost::any > sink_node
tbb::flow::source_node< boost::any > source_node
Types for TBB nodes.
tbb::flow::multifunction_node< boost::any, any_single > queuedout_node
std::vector< receiver_type * > receiver_port_vector
std::vector< boost::any > any_vector
tbb::flow::sender< boost::any > sender_type
virtual sender_port_vector sender_ports()
std::tuple< boost::any, boost::any, boost::any > any_triple
const GenericPointer< typename T::ValueType > T2 value
std::vector< sender_type * > sender_port_vector
virtual void initialize()
tbb::flow::function_node< boost::any, boost::any > function_node
queuedout_node::output_ports_type queuedout_port
std::tuple< boost::any > any_single
tbb::flow::receiver< boost::any > receiver_type