I'm trying to implement the IncidenceGraph concept for an non-BGL undirected graph like datastructure. Following the boost documentation the target function used with edges from out_edges(u,g) must give vertices != u.

Can somebody please explain me why this requirement is in BGL! I think it can make the adaption very difficult as it requieres to artificially orientate undirected edges for each call to out_edges. Any help would be much appreciated!

I'm not entirely sure. The constraint makes sense if you're building graphs that don't allow loops, but otherwise, it's not necessary. Do what you think is right for your own graph structure.

Andrew Sutton
andrew.n.sutton@gmail.com