Changeset 2222:a24939ee343c in lemon-0.x for lemon/bits/base_extender.h
- Timestamp:
- 09/29/06 13:23:54 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2962
- File:
-
- 1 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;
Note: See TracChangeset
for help on using the changeset viewer.