Changes in / [239:7b7e3f20bcec:238:79643f6e8c52] in lemon
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/list_graph.h
r239 r238 396 396 bool valid(Arc a) const { return Parent::valid(a); } 397 397 398 /// Change the target of \c ato \c n399 400 /// Change the target of \c ato \c n398 /// Change the target of \c e to \c n 399 400 /// Change the target of \c e to \c n 401 401 /// 402 402 ///\note The <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s referencing … … 406 406 ///\warning This functionality cannot be used together with the Snapshot 407 407 ///feature. 408 void changeTarget(Arc a, Node n) {409 Parent::changeTarget( a,n);410 } 411 /// Change the source of \c ato \c n412 413 /// Change the source of \c ato \c n414 /// 415 ///\note The <tt> InArcIt</tt>s referencing the changed arc remain416 /// valid. However the <tt>ArcIt<tt>s and<tt>OutArcIt</tt>s are408 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 417 417 ///invalidated. 418 418 /// 419 419 ///\warning This functionality cannot be used together with the Snapshot 420 420 ///feature. 421 void changeSource(Arc a, Node n) {422 Parent::changeSource( a,n);421 void changeSource(Arc e, Node n) { 422 Parent::changeSource(e,n); 423 423 } 424 424 … … 1117 1117 protected: 1118 1118 1119 void change V(Edge e, Node n) {1119 void changeTarget(Edge e, Node n) { 1120 1120 if(arcs[2 * e.id].next_out != -1) { 1121 1121 arcs[arcs[2 * e.id].next_out].prev_out = arcs[2 * e.id].prev_out; … … 1138 1138 } 1139 1139 1140 void change U(Edge e, Node n) {1140 void changeSource(Edge e, Node n) { 1141 1141 if(arcs[(2 * e.id) | 1].next_out != -1) { 1142 1142 arcs[arcs[(2 * e.id) | 1].next_out].prev_out = … … 1261 1261 /// added to the graph. 1262 1262 bool valid(Edge e) const { return Parent::valid(e); } 1263 /// \brief Change the end \c u of \c e to \c n 1264 /// 1265 /// This function changes the end \c u of \c e to node \c n. 1266 /// 1267 ///\note The <tt>EdgeIt</tt>s and <tt>ArcIt</tt>s referencing the 1268 ///changed edge are invalidated and if the changed node is the 1269 ///base node of an iterator then this iterator is also 1270 ///invalidated. 1263 /// \brief Change the source of \c e to \c n 1264 /// 1265 /// This function changes the source of \c e to \c n. 1266 /// 1267 ///\note The <tt>ArcIt</tt>s and <tt>InArcIt</tt>s 1268 ///referencing the changed arc remain 1269 ///valid. However <tt>OutArcIt</tt>s are invalidated. 1271 1270 /// 1272 1271 ///\warning This functionality cannot be used together with the 1273 1272 ///Snapshot feature. 1274 void changeU(Edge e, Node n) { 1275 Parent::changeU(e,n); 1276 } 1277 /// \brief Change the end \c v of \c e to \c n 1278 /// 1279 /// This function changes the end \c v of \c e to \c n. 1280 /// 1281 ///\note The <tt>EdgeIt</tt>s referencing the changed edge remain 1282 ///valid, however <tt>ArcIt</tt>s and if the changed node is the 1283 ///base node of an iterator then this iterator is invalidated. 1273 void changeSource(Edge e, Node n) { 1274 Parent::changeSource(e,n); 1275 } 1276 /// \brief Change the target of \c e to \c n 1277 /// 1278 /// This function changes the target of \c e to \c n. 1279 /// 1280 /// \note The <tt>ArcIt</tt>s referencing the changed arc remain 1281 /// valid. However the other iterators may be invalidated. 1284 1282 /// 1285 1283 ///\warning This functionality cannot be used together with the 1286 1284 ///Snapshot feature. 1287 void changeV(Edge e, Node n) { 1288 Parent::changeV(e,n); 1285 void changeTarget(Edge e, Node n) { 1286 Parent::changeTarget(e,n); 1287 } 1288 /// \brief Change the source of \c e to \c n 1289 /// 1290 /// This function changes the source of \c e to \c n. 1291 /// It also changes the proper node of the represented edge. 1292 /// 1293 ///\note The <tt>ArcIt</tt>s and <tt>InArcIt</tt>s 1294 ///referencing the changed arc remain 1295 ///valid. However <tt>OutArcIt</tt>s are invalidated. 1296 /// 1297 ///\warning This functionality cannot be used together with the 1298 ///Snapshot feature. 1299 void changeSource(Arc e, Node n) { 1300 if (Parent::direction(e)) { 1301 Parent::changeSource(e,n); 1302 } else { 1303 Parent::changeTarget(e,n); 1304 } 1305 } 1306 /// \brief Change the target of \c e to \c n 1307 /// 1308 /// This function changes the target of \c e to \c n. 1309 /// It also changes the proper node of the represented edge. 1310 /// 1311 ///\note The <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s 1312 ///referencing the changed arc remain 1313 ///valid. However <tt>InArcIt</tt>s are invalidated. 1314 /// 1315 ///\warning This functionality cannot be used together with the 1316 ///Snapshot feature. 1317 void changeTarget(Arc e, Node n) { 1318 if (Parent::direction(e)) { 1319 Parent::changeTarget(e,n); 1320 } else { 1321 Parent::changeSource(e,n); 1322 } 1289 1323 } 1290 1324 /// \brief Contract two nodes. … … 1306 1340 if (r && runningNode(e) == a) { 1307 1341 erase(e); 1308 } else if ( u(e) == b) {1309 change U(e, a);1342 } else if (source(e) == b) { 1343 changeSource(e, a); 1310 1344 } else { 1311 change V(e, a);1345 changeTarget(e, a); 1312 1346 } 1313 1347 e = f;
Note: See TracChangeset
for help on using the changeset viewer.