The biggest reason for using descriptors is that they can provide a higher degree of stability than iterators. For example, a vector will invalidate all iterators on insert and remove.
[skip]

"Remove" also invalidates vertex descriptors!

For VertexList == vecS, yes. My advice regarding this would be: If you're using vecS for vectors, don't remove vertices. If you have to remove vertices, use listS and never call num_vertices,

For anything other than vecS, remove_vertex shouldn't invalidate descriptors other than the one removed. I hope.
 
Andrew Sutton
andrew.n.sutton@gmail.com