From 79916f1da131465aa7a712dab8f7d1fc76aa5ba7 Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Fri, 12 Jun 2026 15:20:50 +0200 Subject: [PATCH] Set node names in make_network for user and fanout nodes Co-Authored-By: Claude Opus 4.8 --- include/kpn/static_network.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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);