On Wed, May 13, 2009 at 1:38 PM, Andrew Sutton
<andrew.n.sutton@gmail.com> wrote:
The latter implies that undirected graphs have to have two copies of each edge, one pointed each direction.
Which is correct? The former, I hope :-) Thanks.
Undirected graphs store only one set of edges. The implementation of the just makes it seem like two different copies :)
I'm not sure I understand your response. I was being sloppy and using edge and edge descriptor interchangeably (since there is no separate concept of an edge).
If the returned edge_descriptor (by
out_edges) must have v at its source, then there must be at least two
edge descriptors per undirected edge. Currently our graph uses a
pointer to an edge object as an edge descriptor. Getting the "source"
using such an edge descriptor can't always return v since it has no way of knowing where the edge descriptor came from. I can change the edge descriptor to be a pair of vertices, which would solve the problem, but don't want to if not needed. Thanks.
--Daniel