equal
deleted
inserted
replaced
1 /* -*- mode: C++; indent-tabs-mode: nil; -*- |
1 /* -*- mode: C++; indent-tabs-mode: nil; -*- |
2 * |
2 * |
3 * This file is a part of LEMON, a generic C++ optimization library. |
3 * This file is a part of LEMON, a generic C++ optimization library. |
4 * |
4 * |
5 * Copyright (C) 2003-2009 |
5 * Copyright (C) 2003-2010 |
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport |
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport |
7 * (Egervary Research Group on Combinatorial Optimization, EGRES). |
7 * (Egervary Research Group on Combinatorial Optimization, EGRES). |
8 * |
8 * |
9 * Permission to use, modify and distribute this software is granted |
9 * Permission to use, modify and distribute this software is granted |
10 * provided that this copyright notice appears in all copies. For |
10 * provided that this copyright notice appears in all copies. For |
444 /// |
444 /// |
445 ///\note The moved arcs are joined to node \c u using changeSource() |
445 ///\note The moved arcs are joined to node \c u using changeSource() |
446 ///or changeTarget(), thus \c ArcIt and \c OutArcIt iterators are |
446 ///or changeTarget(), thus \c ArcIt and \c OutArcIt iterators are |
447 ///invalidated for the outgoing arcs of node \c v and \c InArcIt |
447 ///invalidated for the outgoing arcs of node \c v and \c InArcIt |
448 ///iterators are invalidated for the incomming arcs of \c v. |
448 ///iterators are invalidated for the incomming arcs of \c v. |
449 ///Moreover all iterators referencing node \c v or the removed |
449 ///Moreover all iterators referencing node \c v or the removed |
450 ///loops are also invalidated. Other iterators remain valid. |
450 ///loops are also invalidated. Other iterators remain valid. |
451 /// |
451 /// |
452 ///\warning This functionality cannot be used together with the Snapshot |
452 ///\warning This functionality cannot be used together with the Snapshot |
453 ///feature. |
453 ///feature. |
454 void contract(Node u, Node v, bool r = true) |
454 void contract(Node u, Node v, bool r = true) |
550 /// Class to make a snapshot of the digraph and restore it later. |
550 /// Class to make a snapshot of the digraph and restore it later. |
551 /// |
551 /// |
552 /// The newly added nodes and arcs can be removed using the |
552 /// The newly added nodes and arcs can be removed using the |
553 /// restore() function. |
553 /// restore() function. |
554 /// |
554 /// |
555 /// \note After a state is restored, you cannot restore a later state, |
555 /// \note After a state is restored, you cannot restore a later state, |
556 /// i.e. you cannot add the removed nodes and arcs again using |
556 /// i.e. you cannot add the removed nodes and arcs again using |
557 /// another Snapshot instance. |
557 /// another Snapshot instance. |
558 /// |
558 /// |
559 /// \warning Node and arc deletions and other modifications (e.g. |
559 /// \warning Node and arc deletions and other modifications (e.g. |
560 /// reversing, contracting, splitting arcs or nodes) cannot be |
560 /// reversing, contracting, splitting arcs or nodes) cannot be |
1305 /// then the newly created loops are removed. |
1305 /// then the newly created loops are removed. |
1306 /// |
1306 /// |
1307 /// \note The moved edges are joined to node \c a using changeU() |
1307 /// \note The moved edges are joined to node \c a using changeU() |
1308 /// or changeV(), thus all edge and arc iterators whose base node is |
1308 /// or changeV(), thus all edge and arc iterators whose base node is |
1309 /// \c b are invalidated. |
1309 /// \c b are invalidated. |
1310 /// Moreover all iterators referencing node \c b or the removed |
1310 /// Moreover all iterators referencing node \c b or the removed |
1311 /// loops are also invalidated. Other iterators remain valid. |
1311 /// loops are also invalidated. Other iterators remain valid. |
1312 /// |
1312 /// |
1313 ///\warning This functionality cannot be used together with the |
1313 ///\warning This functionality cannot be used together with the |
1314 ///Snapshot feature. |
1314 ///Snapshot feature. |
1315 void contract(Node a, Node b, bool r = true) { |
1315 void contract(Node a, Node b, bool r = true) { |
1362 /// Class to make a snapshot of the graph and restore it later. |
1362 /// Class to make a snapshot of the graph and restore it later. |
1363 /// |
1363 /// |
1364 /// The newly added nodes and edges can be removed |
1364 /// The newly added nodes and edges can be removed |
1365 /// using the restore() function. |
1365 /// using the restore() function. |
1366 /// |
1366 /// |
1367 /// \note After a state is restored, you cannot restore a later state, |
1367 /// \note After a state is restored, you cannot restore a later state, |
1368 /// i.e. you cannot add the removed nodes and edges again using |
1368 /// i.e. you cannot add the removed nodes and edges again using |
1369 /// another Snapshot instance. |
1369 /// another Snapshot instance. |
1370 /// |
1370 /// |
1371 /// \warning Node and edge deletions and other modifications |
1371 /// \warning Node and edge deletions and other modifications |
1372 /// (e.g. changing the end-nodes of edges or contracting nodes) |
1372 /// (e.g. changing the end-nodes of edges or contracting nodes) |