2 #include <ossia/dataflow/dataflow_fwd.hpp>
3 #include <ossia/network/base/node.hpp>
4 #include <ossia/network/common/path.hpp>
10 struct do_nothing_for_nodes
15 template <
typename Fun,
typename NodeFun,
typename DeviceList_T>
16 bool apply_to_destination(
17 const destination_t& address,
const DeviceList_T& devices, Fun f, NodeFun nf)
19 switch(address.which().index())
22 case destination_t::index_of<ossia::net::parameter_base*>().index(): {
28 case destination_t::index_of<ossia::traversal::path>().index(): {
29 std::vector<ossia::net::node_base*> roots{};
32 roots.push_back(&n->get_root_node());
34 auto& p = *address.target<ossia::traversal::path>();
35 ossia::traversal::apply(p, roots);
37 const bool unique = roots.size() == 1;
39 if(
auto addr = n->get_parameter())
47 case destination_t::index_of<ossia::net::node_base*>().index(): {
The node_base class.
Definition: network/base/node.hpp:48
The parameter_base class.
Definition: ossia/network/base/parameter.hpp:48