As long as you're making changes to subgraph anyway, something that really bugs me about it is the necessity to make the root graph itself be of subgraph type. While I can understand the reasoning, it would be nice if there were a way to simply make the root be a shallow wrapper around any particular graph.
I don't know how feasible this is, but I figured I'd ask.
It may be possible, but I'm not thinking too much about it right now.
I've just committed the beginning of this work. Now you can write:
g[v] -> returns the global bundle of v
g[global(v)] -> returns the global bundle for v
g[local(v)] -> returns the local bundle of v
typedef property_map<
Subgraph, local_subgraph_property<int Node::*>
>::type Map;
Map pm = get(local(&Node::weight), g);
I'm not fully sold on the local_subgraph_property name. I could probably shorten it to local_property, and it would work just as well.
I haven't built explicit support for global bundled properties, and I need to extend the same support to the old-style properties.
Thoughts?
Andrew Sutton