diff --git a/include/kpn/static_network.hpp b/include/kpn/static_network.hpp index 06a9066..2750c0d 100644 --- a/include/kpn/static_network.hpp +++ b/include/kpn/static_network.hpp @@ -300,12 +300,16 @@ auto make_network(Edges&&... edges) { auto* s = static_cast(&e.src); auto* d = static_cast(&e.dst); if (std::find(user_node_ptrs.begin(), user_node_ptrs.end(), s) == user_node_ptrs.end()) { + auto sname = node_display_name(); user_node_ptrs.push_back(s); - user_node_names.push_back(node_display_name()); + user_node_names.push_back(sname); + s->set_name(sname); } if (std::find(user_node_ptrs.begin(), user_node_ptrs.end(), d) == user_node_ptrs.end()) { + auto dname = node_display_name(); user_node_ptrs.push_back(d); - user_node_names.push_back(node_display_name()); + user_node_names.push_back(dname); + d->set_name(dname); } }; (collect(edges), ...); @@ -388,8 +392,10 @@ auto make_network(Edges&&... edges) { std::apply([&](auto&... fn) { ([&](auto& node) { using NodeT = std::decay_t; + auto fname = node_name.template operator()(); + static_cast(node).set_name(fname); fanout_ptrs.push_back(static_cast(&node)); - fanout_node_names.push_back(node_name.template operator()()); + fanout_node_names.push_back(fname); }(fn), ...); }, *fanout_storage);