Changeset 2222:a24939ee343c in lemon-0.x
- Timestamp:
- 09/29/06 13:23:54 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2962
- Location:
- lemon/bits
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bits/base_extender.h
r2187 r2222 36 36 /// \ingroup graphbits 37 37 /// 38 /// \brief Base Extender for the UGraphs38 /// \brief BaseGraph to BaseUGraph extender 39 39 template <typename Base> 40 40 class UndirGraphExtender : public Base { … … 239 239 } 240 240 241 Edge findEdge(Node source, Node target, Edge prev ) const {241 Edge findEdge(Node source, Node target, Edge prev = INVALID) const { 242 242 if (prev == INVALID) { 243 243 UEdge edge = Parent::findEdge(source, target); … … 257 257 } 258 258 259 UEdge findUEdge(Node source, Node target, UEdge prev) const { 260 if (prev == INVALID) { 261 UEdge edge = Parent::findEdge(source, target); 262 if (edge != INVALID) return edge; 263 edge = Parent::findEdge(target, source); 264 if (edge != INVALID) return edge; 265 } else if (Parent::source(prev) == source) { 266 UEdge edge = Parent::findEdge(source, target, prev); 267 if (edge != INVALID) return edge; 268 edge = Parent::findEdge(target, source); 269 if (edge != INVALID) return edge; 259 UEdge findUEdge(Node source, Node target, UEdge prev = INVALID) const { 260 if (source != target) { 261 if (prev == INVALID) { 262 UEdge edge = Parent::findEdge(source, target); 263 if (edge != INVALID) return edge; 264 edge = Parent::findEdge(target, source); 265 if (edge != INVALID) return edge; 266 } else if (Parent::source(prev) == source) { 267 UEdge edge = Parent::findEdge(source, target, prev); 268 if (edge != INVALID) return edge; 269 edge = Parent::findEdge(target, source); 270 if (edge != INVALID) return edge; 271 } else { 272 UEdge edge = Parent::findEdge(target, source, prev); 273 if (edge != INVALID) return edge; 274 } 270 275 } else { 271 UEdge edge = Parent::findEdge(target, source, prev); 272 if (edge != INVALID) return edge; 276 return Parent::findEdge(source, target, prev); 273 277 } 274 278 return INVALID; -
lemon/bits/graph_extender.h
r2203 r2222 1524 1524 } 1525 1525 1526 Edge findEdge(Node u, Node v, Edge prev = INVALID) const { 1527 UEdge uedge = Parent::findUEdge(u, v, prev); 1528 if (uedge != INVALID) { 1529 return direct(uedge, Parent::aNode(u)); 1530 } else { 1531 return INVALID; 1532 } 1533 } 1526 1534 1527 1535 };
Note: See TracChangeset
for help on using the changeset viewer.