Set node names in make_network for user and fanout nodes
All checks were successful
🧪 Test / test (push) Successful in 6m22s

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Duncan Tourolle 2026-06-12 15:20:50 +02:00
parent f6bcaa15b0
commit 79916f1da1

View File

@ -300,12 +300,16 @@ auto make_network(Edges&&... edges) {
auto* s = static_cast<INode*>(&e.src);
auto* d = static_cast<INode*>(&e.dst);
if (std::find(user_node_ptrs.begin(), user_node_ptrs.end(), s) == user_node_ptrs.end()) {
auto sname = node_display_name<SrcT>();
user_node_ptrs.push_back(s);
user_node_names.push_back(node_display_name<SrcT>());
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<DstT>();
user_node_ptrs.push_back(d);
user_node_names.push_back(node_display_name<DstT>());
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<decltype(node)>;
auto fname = node_name.template operator()<NodeT>();
static_cast<INode&>(node).set_name(fname);
fanout_ptrs.push_back(static_cast<INode*>(&node));
fanout_node_names.push_back(node_name.template operator()<NodeT>());
fanout_node_names.push_back(fname);
}(fn), ...);
}, *fanout_storage);