lemon/bits/graph_extender.h
changeset 2326 af8c695372be
parent 2283 a877258468e4
child 2329 3f4a04a9b7bf
equal deleted inserted replaced
25:e1d0b8cdc236 26:255d35229909
   280       getNotifier(Edge()).clear();
   280       getNotifier(Edge()).clear();
   281       getNotifier(Node()).clear();
   281       getNotifier(Node()).clear();
   282       Parent::clear();
   282       Parent::clear();
   283     }
   283     }
   284 
   284 
       
   285     template <typename Graph, typename NodeRefMap, typename EdgeRefMap>
       
   286     void clone(const Graph& graph, NodeRefMap& nodeRef, EdgeRefMap& edgeRef) {
       
   287       Parent::clone(graph, nodeRef, edgeRef);
       
   288       getNotifier(Node()).build();
       
   289       getNotifier(Edge()).build();
       
   290     }
   285 
   291 
   286     void erase(const Node& node) {
   292     void erase(const Node& node) {
   287       Edge edge;
   293       Edge edge;
   288       Parent::firstOut(edge, node);
   294       Parent::firstOut(edge, node);
   289       while (edge != INVALID ) {
   295       while (edge != INVALID ) {
   683     void clear() {
   689     void clear() {
   684       getNotifier(Edge()).clear();
   690       getNotifier(Edge()).clear();
   685       getNotifier(UEdge()).clear();
   691       getNotifier(UEdge()).clear();
   686       getNotifier(Node()).clear();
   692       getNotifier(Node()).clear();
   687       Parent::clear();
   693       Parent::clear();
       
   694     }
       
   695 
       
   696     template <typename Graph, typename NodeRefMap, typename UEdgeRefMap>
       
   697     void clone(const Graph& graph, NodeRefMap& nodeRef, 
       
   698                UEdgeRefMap& uEdgeRef) {
       
   699       Parent::clone(graph, nodeRef, uEdgeRef);
       
   700       getNotifier(Node()).build();
       
   701       getNotifier(UEdge()).build();
       
   702       getNotifier(Edge()).build();
   688     }
   703     }
   689 
   704 
   690     void erase(const Node& node) {
   705     void erase(const Node& node) {
   691       Edge edge;
   706       Edge edge;
   692       Parent::firstOut(edge, node);
   707       Parent::firstOut(edge, node);
  1299       getNotifier(BNode()).clear();
  1314       getNotifier(BNode()).clear();
  1300       getNotifier(ANode()).clear();
  1315       getNotifier(ANode()).clear();
  1301       Parent::clear();
  1316       Parent::clear();
  1302     }
  1317     }
  1303 
  1318 
       
  1319     template <typename Graph, typename ANodeRefMap, 
       
  1320               typename BNodeRefMap, typename UEdgeRefMap>
       
  1321     void clone(const Graph& graph, ANodeRefMap& aNodeRef, 
       
  1322                BNodeRefMap& bNodeRef, UEdgeRefMap& uEdgeRef) {
       
  1323       Parent::clone(graph, aNodeRef, bNodeRef, uEdgeRef);
       
  1324       getNotifier(ANode()).build();
       
  1325       getNotifier(BNode()).build();
       
  1326       getNotifier(Node()).build();
       
  1327       getNotifier(UEdge()).build();
       
  1328       getNotifier(Edge()).build();
       
  1329     }
       
  1330 
  1304     void erase(const Node& node) {
  1331     void erase(const Node& node) {
  1305       UEdge uedge;
  1332       UEdge uedge;
  1306       if (Parent::aNode(node)) {
  1333       if (Parent::aNode(node)) {
  1307         Parent::firstFromANode(uedge, node);
  1334         Parent::firstFromANode(uedge, node);
  1308         while (uedge != INVALID) {
  1335         while (uedge != INVALID) {