Changeset 137:6364b07f8cd4 in lemon-0.x for src/work
- Timestamp:
- 03/01/04 12:33:10 (19 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@191
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/work/edmonds_karp.hh
r135 r137 453 453 int id(NodeIt v) const { return G.id(v); } 454 454 455 template <typename S>455 template <typename T> 456 456 class NodeMap { 457 typename Graph::NodeMap< S> node_map;457 typename Graph::NodeMap<T> node_map; 458 458 public: 459 459 NodeMap(const ResGraph3<Graph, Number, FlowMap, CapacityMap>& _G) : node_map(_G.G) { } 460 NodeMap(const ResGraph3<Graph, Number, FlowMap, CapacityMap>& _G, S a) : node_map(_G.G, a) { } 461 void set(NodeIt nit, S a) { node_map.set(nit, a); } 462 S get(NodeIt nit) const { return node_map.get(nit); } 460 NodeMap(const ResGraph3<Graph, Number, FlowMap, CapacityMap>& _G, T a) : node_map(_G.G, a) { } 461 void set(NodeIt nit, T a) { node_map.set(nit, a); } 462 T get(NodeIt nit) const { return node_map.get(nit); } 463 }; 464 465 template <typename T> 466 class EdgeMap { 467 typename Graph::EdgeMap<T> forward_map, backward_map; 468 public: 469 EdgeMap(const ResGraph3<Graph, Number, FlowMap, CapacityMap>& _G) : forward_map(_G.G), backward_map(_G.G) { } 470 EdgeMap(const ResGraph3<Graph, Number, FlowMap, CapacityMap>& _G, T a) : forward_map(_G.G, a), backward_map(_G.G, a) { } 471 void set(EdgeIt e, T a) { 472 if (e.out_or_in) 473 forward_map.set(e.out, a); 474 else 475 backward_map.set(e.in, a); 476 } 477 T get(EdgeIt e) { 478 if (e.out_or_in) 479 return forward_map.get(e.out); 480 else 481 return backward_map.get(e.in); 482 } 463 483 }; 464 484 465 485 }; 466 467 486 468 487 template <typename Graph, typename Number, typename FlowMap, typename CapacityMap>
Note: See TracChangeset
for help on using the changeset viewer.