// Headers are available because we added the pls target #include #include #include #include #include #include #include #include #include int main() { using namespace pls::dataflow; using namespace pls::dataflow::internal; // Define graph, outputs> graph; auto func1 = [](const int &i1, const int &i2, int &o1) { std::cout << "Add up " << i1 << " and " << i2 << "..." << std::endl; o1 = i1 + i2; }; function_node, outputs, decltype(func1)> node1{func1}; auto func2 = [](const int &i1, int &o1) { std::cout << "Print Result " << i1 << std::endl; o1 = i1; }; function_node, outputs, decltype(func2)> node2{func2}; // Connect graph.input<0>() >> node1.in_port<0>(); graph.input<1>() >> node1.in_port<1>(); node1.out_port<0>() >> node2.in_port<0>(); node2.out_port<0>() >> graph.output<0>(); // Build graph.build(); // Execute graph.run({1, 2}); graph.run({1, 1}); graph.run({5, 6}); }