COIN-OR::LEMON - Graph Library

Changeset 235:b46d2787e9c2 in lemon-main


Ignore:
Timestamp:
07/28/08 11:22:50 (16 years ago)
Author:
Balazs Dezso <deba@…>
Branch:
default
Children:
239:7b7e3f20bcec, 241:92f046dd7f6c
Phase:
public
Message:

Correcting changeSource interface and documentation

  • The changeSource() and changeTarget() is renamed to changeU() and changeV() in undirected graphs
  • The changeSource(a, n) and changeTarget(a, n) is removed from undirected graphs
  • Correcting invalidating iterators in documentation
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/list_graph.h

    r234 r235  
    396396    bool valid(Arc a) const { return Parent::valid(a); }
    397397
    398     /// Change the target of \c e to \c n
    399 
    400     /// Change the target of \c e to \c n
     398    /// Change the target of \c a to \c n
     399
     400    /// Change the target of \c a to \c n
    401401    ///
    402402    ///\note The <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s referencing
     
    406406    ///\warning This functionality cannot be used together with the Snapshot
    407407    ///feature.
    408     void changeTarget(Arc e, Node n) {
    409       Parent::changeTarget(e,n);
    410     }
    411     /// Change the source of \c e to \c n
    412 
    413     /// Change the source of \c e to \c n
    414     ///
    415     ///\note The <tt>ArcIt</tt>s and <tt>InArcIt</tt>s referencing
    416     ///the changed arc remain valid. However <tt>OutArcIt</tt>s are
     408    void changeTarget(Arc a, Node n) {
     409      Parent::changeTarget(a,n);
     410    }
     411    /// Change the source of \c a to \c n
     412
     413    /// Change the source of \c a to \c n
     414    ///
     415    ///\note The <tt>InArcIt</tt>s referencing the changed arc remain
     416    ///valid. However the <tt>ArcIt<tt>s and <tt>OutArcIt</tt>s are
    417417    ///invalidated.
    418418    ///
    419419    ///\warning This functionality cannot be used together with the Snapshot
    420420    ///feature.
    421     void changeSource(Arc e, Node n) {
    422       Parent::changeSource(e,n);
     421    void changeSource(Arc a, Node n) {
     422      Parent::changeSource(a,n);
    423423    }
    424424
     
    11151115  protected:
    11161116
    1117     void changeTarget(Edge e, Node n) {
     1117    void changeV(Edge e, Node n) {
    11181118      if(arcs[2 * e.id].next_out != -1) {
    11191119        arcs[arcs[2 * e.id].next_out].prev_out = arcs[2 * e.id].prev_out;
     
    11361136    }
    11371137
    1138     void changeSource(Edge e, Node n) {
     1138    void changeU(Edge e, Node n) {
    11391139      if(arcs[(2 * e.id) | 1].next_out != -1) {
    11401140        arcs[arcs[(2 * e.id) | 1].next_out].prev_out =
     
    12591259    /// added to the graph.
    12601260    bool valid(Edge e) const { return Parent::valid(e); }
    1261     /// \brief Change the source of \c e to \c n
    1262     ///
    1263     /// This function changes the source of \c e to \c n.
    1264     ///
    1265     ///\note The <tt>ArcIt</tt>s and <tt>InArcIt</tt>s
    1266     ///referencing the changed arc remain
    1267     ///valid. However <tt>OutArcIt</tt>s are invalidated.
     1261    /// \brief Change the end \c u of \c e to \c n
     1262    ///
     1263    /// This function changes the end \c u of \c e to node \c n.
     1264    ///
     1265    ///\note The <tt>EdgeIt</tt>s and <tt>ArcIt</tt>s referencing the
     1266    ///changed edge are invalidated and if the changed node is the
     1267    ///base node of an iterator then this iterator is also
     1268    ///invalidated.
    12681269    ///
    12691270    ///\warning This functionality cannot be used together with the
    12701271    ///Snapshot feature.
    1271     void changeSource(Edge e, Node n) {
    1272       Parent::changeSource(e,n);
    1273     }
    1274     /// \brief Change the target of \c e to \c n
    1275     ///
    1276     /// This function changes the target of \c e to \c n.
    1277     ///
    1278     /// \note The <tt>ArcIt</tt>s referencing the changed arc remain
    1279     /// valid. However the other iterators may be invalidated.
     1272    void changeU(Edge e, Node n) {
     1273      Parent::changeU(e,n);
     1274    }
     1275    /// \brief Change the end \c v of \c e to \c n
     1276    ///
     1277    /// This function changes the end \c v of \c e to \c n.
     1278    ///
     1279    ///\note The <tt>EdgeIt</tt>s referencing the changed edge remain
     1280    ///valid, however <tt>ArcIt</tt>s and if the changed node is the
     1281    ///base node of an iterator then this iterator is invalidated.
    12801282    ///
    12811283    ///\warning This functionality cannot be used together with the
    12821284    ///Snapshot feature.
    1283     void changeTarget(Edge e, Node n) {
    1284       Parent::changeTarget(e,n);
    1285     }
    1286     /// \brief Change the source of \c e to \c n
    1287     ///
    1288     /// This function changes the source of \c e to \c n.
    1289     /// It also changes the proper node of the represented edge.
    1290     ///
    1291     ///\note The <tt>ArcIt</tt>s and <tt>InArcIt</tt>s
    1292     ///referencing the changed arc remain
    1293     ///valid. However <tt>OutArcIt</tt>s are invalidated.
    1294     ///
    1295     ///\warning This functionality cannot be used together with the
    1296     ///Snapshot feature.
    1297     void changeSource(Arc e, Node n) {
    1298       if (Parent::direction(e)) {
    1299         Parent::changeSource(e,n);
    1300       } else {
    1301         Parent::changeTarget(e,n);
    1302       }
    1303     }
    1304     /// \brief Change the target of \c e to \c n
    1305     ///
    1306     /// This function changes the target of \c e to \c n.
    1307     /// It also changes the proper node of the represented edge.
    1308     ///
    1309     ///\note The <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s
    1310     ///referencing the changed arc remain
    1311     ///valid. However <tt>InArcIt</tt>s are invalidated.
    1312     ///
    1313     ///\warning This functionality cannot be used together with the
    1314     ///Snapshot feature.
    1315     void changeTarget(Arc e, Node n) {
    1316       if (Parent::direction(e)) {
    1317         Parent::changeTarget(e,n);
    1318       } else {
    1319         Parent::changeSource(e,n);
    1320       }
     1285    void changeV(Edge e, Node n) {
     1286      Parent::changeV(e,n);
    13211287    }
    13221288    /// \brief Contract two nodes.
     
    13381304        if (r && runningNode(e) == a) {
    13391305          erase(e);
    1340         } else if (source(e) == b) {
    1341           changeSource(e, a);
     1306        } else if (u(e) == b) {
     1307          changeU(e, a);
    13421308        } else {
    1343           changeTarget(e, a);
     1309          changeV(e, a);
    13441310        }
    13451311        e = f;
Note: See TracChangeset for help on using the changeset viewer.