void UpwardPlanarSubgraphModule::callAndDelete( GraphCopy &GC, List<edge> &delOrigEdges) { List<edge> delEdges; call(GC, delEdges); ListConstIterator<edge> it; for(it = delEdges.begin(); it.valid(); ++it) { edge eCopy = *it; delOrigEdges.pushBack(GC.original(eCopy)); GC.delCopy(eCopy); } }
Module::ReturnType PlanarSubgraphModule::callAndDelete( GraphCopy &PG, const List<edge> &preferedEdges, List<edge> &delOrigEdges, bool preferedImplyPlanar) { List<edge> delEdges; ReturnType retValue = call(PG, preferedEdges, delEdges, preferedImplyPlanar); if(isSolution(retValue)) { ListConstIterator<edge> it; for(it = delEdges.begin(); it.valid(); ++it) { edge eCopy = *it; delOrigEdges.pushBack(PG.original(eCopy)); PG.delCopy(eCopy); } } return retValue; }