A few questions about the chart in the BGL documentation labeled "Summary of Descriptor and Iterator Invalidation":
- Why does adding an edge invalidate the edge and adjacency iterators; why isn't every column of the add_edge() row "OK"? Wouldn't the in/out edge lists simply be appended?
- Why does removing an edge only invalidate an edge iterator if the graph is directed; why is the second to last column in the second row not simply "EL=vecS"? In the undirected graph case wouldn't removing an edge remove it from two edge lists (one for the source and one for the target vertex) which would invalidate iterators in both those lists?
Thanks!