Changeset 235:b46d2787e9c2 in lemon
- Timestamp:
- 07/28/08 11:22:50 (16 years ago)
- Branch:
- default
- Children:
- 239:7b7e3f20bcec, 241:92f046dd7f6c
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/list_graph.h
r234 r235 396 396 bool valid(Arc a) const { return Parent::valid(a); } 397 397 398 /// Change the target of \c eto \c n399 400 /// Change the target of \c eto \c n398 /// Change the target of \c a to \c n 399 400 /// Change the target of \c a 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 e, Node n) {409 Parent::changeTarget( e,n);410 } 411 /// Change the source of \c eto \c n412 413 /// Change the source of \c eto \c n414 /// 415 ///\note The <tt> ArcIt</tt>s and <tt>InArcIt</tt>s referencing416 /// the changed arc remain valid. However<tt>OutArcIt</tt>s are408 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 417 417 ///invalidated. 418 418 /// 419 419 ///\warning This functionality cannot be used together with the Snapshot 420 420 ///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); 423 423 } 424 424 … … 1115 1115 protected: 1116 1116 1117 void change Target(Edge e, Node n) {1117 void changeV(Edge e, Node n) { 1118 1118 if(arcs[2 * e.id].next_out != -1) { 1119 1119 arcs[arcs[2 * e.id].next_out].prev_out = arcs[2 * e.id].prev_out; … … 1136 1136 } 1137 1137 1138 void change Source(Edge e, Node n) {1138 void changeU(Edge e, Node n) { 1139 1139 if(arcs[(2 * e.id) | 1].next_out != -1) { 1140 1140 arcs[arcs[(2 * e.id) | 1].next_out].prev_out = … … 1259 1259 /// added to the graph. 1260 1260 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. 1268 1269 /// 1269 1270 ///\warning This functionality cannot be used together with the 1270 1271 ///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. 1280 1282 /// 1281 1283 ///\warning This functionality cannot be used together with the 1282 1284 ///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); 1321 1287 } 1322 1288 /// \brief Contract two nodes. … … 1338 1304 if (r && runningNode(e) == a) { 1339 1305 erase(e); 1340 } else if ( source(e) == b) {1341 change Source(e, a);1306 } else if (u(e) == b) { 1307 changeU(e, a); 1342 1308 } else { 1343 change Target(e, a);1309 changeV(e, a); 1344 1310 } 1345 1311 e = f;
Note: See TracChangeset
for help on using the changeset viewer.