diff -r 4ea2147274db -r d4acebef7276 src/lemon/erasable_graph_extender.h --- a/src/lemon/erasable_graph_extender.h Tue Apr 05 09:49:01 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -// -*- c++ -*- - -#ifndef LEMON_ERASABLE_GRAPH_EXTENDER_H -#define LEMON_ERASABLE_GRAPH_EXTENDER_H - -#include - - -namespace lemon { - - template - class ErasableGraphExtender : public _Base { - public: - - typedef ErasableGraphExtender Graph; - typedef _Base Parent; - - typedef typename Parent::Node Node; - typedef typename Parent::Edge Edge; - - void erase(const Node& node) { - Edge edge; - Parent::firstOut(edge, node); - while (edge != INVALID ) { - erase(edge); - Parent::firstOut(edge, node); - } - - Parent::firstIn(edge, node); - while (edge != INVALID ) { - erase(edge); - Parent::firstIn(edge, node); - } - - Parent::getNotifier(Node()).erase(node); - Parent::erase(node); - } - - void erase(const Edge& edge) { - Parent::getNotifier(Edge()).erase(edge); - Parent::erase(edge); - } - - }; - - template - class ErasableUndirGraphExtender : public _Base { - public: - - typedef ErasableUndirGraphExtender Graph; - typedef _Base Parent; - - typedef typename Parent::Node Node; - typedef typename Parent::UndirEdge UndirEdge; - typedef typename Parent::Edge Edge; - - void erase(const Node& node) { - Edge edge; - Parent::firstOut(edge, node); - while (edge != INVALID ) { - erase(edge); - Parent::firstOut(edge, node); - } - - Parent::getNotifier(Node()).erase(node); - Parent::erase(node); - } - - void erase(const UndirEdge& uedge) { - Parent::getNotifier(Edge()).erase(Edge(uedge,true)); - Parent::getNotifier(Edge()).erase(Edge(uedge,false)); - Parent::getNotifier(UndirEdge()).erase(uedge); - Parent::erase(uedge); - } - - }; - -} - -#endif