Boost logo

Boost Users :

From: Doug Gregor (dgregor_at_[hidden])
Date: 2004-11-29 11:27:31


On Nov 29, 2004, at 9:17 AM, Sebastian Weber wrote:
> (*vi).stuff = 4;
>
> With this, one would save a lookup in the data-structures and the
> vertice-iterator concept would be far more logic to me, concernig
> internal property handling.
[snip]

> I don't know the BGL internals and how this behaviour is optimally
> programmed with the BGL.
[snip]
> I hope my point is clear.

We considered this syntax (you might be able to find the discussion on
the Boost developers list; GMane is running a bit slow for me at the
moment). The basic problem is that we would need both const- and
non-const vertex and edge descriptors (because the constness of the
internal properties is now tied to the descriptors), which then means
that we need const vertex iterators, const edge iterators, const out
iterators, etc... it would very quickly become a nightmare for users
and developers alike, because we would have twice as many iterator and
descriptor types to deal with.

On the performance side, it would make copying descriptors more
expensive (e.g., with VertexListS=vecS, a vertex descriptor is just an
integer; it would have to go to _at least_ a pointer). On the other
side, I don't see that this would help performance much when accessing
internal properties.

        Doug


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net