Description
I read in section "Future Work" of boost::read_graphviz()
:
- Passing port information to BGL.
[...]
I couldn't find any related ongoing work on Github:
- Is someone working on this already?
- Is this still something that BGL would want to implement?
I would be interested in the feature, and I would even be interested in implementing it myself if nothing's already being done. That being said, I have zero familiarity with boost's code base, so I'd be interested in getting some pointers as to how you would like to get it done.
With ports, I understand that edges now connect ports, and not nodes... Plus, ports are optional, so we'd need to have a default one. Without being familiar with the code base, I guess this change will require a not-so-small patch.
As for the use case, (IMO) it's especially useful to draw network layouts (with information like "which port of device X is connected to which port of device Y").
graph {
node [shape=record];
rankdir=LR
0 [label="switch 1|{<eth1>eth1|<eth2>eth2|<eth3>eth3|<eth4>eth4}"];
1 [label="switch 2|{<eth1>eth1|<eth2>eth2|<eth3>eth3|<eth4>eth4}"];
2 [label="switch 3|{<eth1>eth1|<eth2>eth2|<eth3>eth3|<eth4>eth4}"];
0:eth1 -- 1:eth1;
1:eth2 -- 2:eth1;
2:eth2 -- 0:eth2;
}