
On Nov 15, 2004, at 11:02 AM, Vladimir Prus wrote:
You can store information within the vertices and have only the names of a few of the vertices to start from.
You'd need to make property map return +inf when property on any other vertex is accessed, then.
Correct.
For the properties, you keep a global counter: each time you run the algorithm, you increment the counter, thereby telling all vertices that their values are out of date.
Is this for implementation of the above? Else I don't understand what you mean.
Sorry; yes, this is an efficient implementation of the above.
May I again ask you if you have a real example? It still feels bad to optimize for generic case which might be never needed. It might be possible to provide fully generic version with a slightly different name or use a special parameter, or something, without complicating interface for the common case.
I don't know of a real example. If we can dispatch cleanly to provide both functionality types, I don't see a problem with having both versions. Unfortunately, the common case (VertexAndEdgeListGraph) has the stranger syntax, and we're stuck with that until we move everything into namespace boost::graph. Doug