Changes in / [236:da953e387d31:240:bea328c5a8d3] in lemon
- Location:
- lemon
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/lgf_writer.h
r236 r240 935 935 bool local_os; 936 936 937 Graph& _graph;937 const Graph& _graph; 938 938 939 939 std::string _nodes_caption; -
lemon/list_graph.h
r234 r239 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 … … 843 843 844 844 public: 845 operator Edge() const { return edgeFromId(id / 2); } 845 operator Edge() const { 846 return id != -1 ? edgeFromId(id / 2) : INVALID; 847 } 846 848 847 849 Arc() {} … … 1115 1117 protected: 1116 1118 1117 void change Target(Edge e, Node n) {1119 void changeV(Edge e, Node n) { 1118 1120 if(arcs[2 * e.id].next_out != -1) { 1119 1121 arcs[arcs[2 * e.id].next_out].prev_out = arcs[2 * e.id].prev_out; … … 1136 1138 } 1137 1139 1138 void change Source(Edge e, Node n) {1140 void changeU(Edge e, Node n) { 1139 1141 if(arcs[(2 * e.id) | 1].next_out != -1) { 1140 1142 arcs[arcs[(2 * e.id) | 1].next_out].prev_out = … … 1259 1261 /// added to the graph. 1260 1262 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. 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. 1268 1271 /// 1269 1272 ///\warning This functionality cannot be used together with the 1270 1273 ///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. 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. 1280 1284 /// 1281 1285 ///\warning This functionality cannot be used together with the 1282 1286 ///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 } 1287 void changeV(Edge e, Node n) { 1288 Parent::changeV(e,n); 1321 1289 } 1322 1290 /// \brief Contract two nodes. … … 1338 1306 if (r && runningNode(e) == a) { 1339 1307 erase(e); 1340 } else if ( source(e) == b) {1341 change Source(e, a);1308 } else if (u(e) == b) { 1309 changeU(e, a); 1342 1310 } else { 1343 change Target(e, a);1311 changeV(e, a); 1344 1312 } 1345 1313 e = f; -
lemon/smart_graph.h
r220 r238 466 466 467 467 public: 468 operator Edge() const { return edgeFromId(_id / 2); } 468 operator Edge() const { 469 return _id != -1 ? edgeFromId(_id / 2) : INVALID; 470 } 469 471 470 472 Arc() {}
Note: See TracChangeset
for help on using the changeset viewer.