
You mean that the subgraphs are disjoint and you want to remove elements form a disjoint subgraph and the root graph? You might need to create a new graph data structure - lets call it disjoint_subgraphs - that's kind of a flattened, inverted version of the subgraph system. Each subgraph is actually an independent, fully mutable adjacency_list (or whatever). The "root" graph could provide a read-only view over the subgraphs. Descriptors for the root graph would have to be redefined to reference descriptors from specific subgraphs (not too hard). Vertex and edge iterators would simply span the iterators of the subgraphs (also pretty easy).
Come to think of it, I have only one subgraph and don't want to affect the root graph, so perhaps I shouldn't use subgraph<> at all (I use the induced subgraph functionality but implementing it on my own would be faster than re-inventing subgraphs). Thanks for the explanations. Best regards, Greg