
On Friday 02 April 2004 07:35 am, Vladimir Prus wrote:
One possible solution that I see is the make vertex_descriptor be always pointer type. It will point at some internal structure but also provide operator* which will return 'City'. Or, maybe, it should be possible to iterate over values of 'City', not only over values of vertex_descriptor.
I still don't know if using City to identifiy vertices is feasible.
Why not make vertices derive from (or be aggregated with and convertable to) City? It has a whole ton of advantages: 1) The user can just think of nodes as if they were City objects, including easy access to City members. 2) Can trivially build a property map from a member pointer; wouldn't it be nice to say: dijsktra_shortest_paths(g, v, distance_map(&City::distance)) ? 3) graph<Vertex, Edge, Rep> can have Rep=adjacency_list<whatever> as the default representation, so we lose no genericity. Oh, how I wish I had free time :) Doug