
Jeremiah Willcock
There is graph::null_vertex, but no "null_edge".
It looks like you are correct. The BGL functions that can return non-existent edges return iterators instead, in which case edges(g).end() is a legitimate "null" return value. If you know the graph is non-empty, you can also return std::pair
, returning make_pair(*edges(g).first, false) for the "not found" case and make_pair(..., true) otherwise.
Thank you for answer! I did it this way (for not founded edge) return make_pair( false, Graph::edge_descriptor() ); Am I correct? But, I think, it will be much better if null_edge will be added to the library. It can be -1 for vector containers and null for pointer-based descriptors, etc.