COIN-OR::LEMON - Graph Library

Changeset 137:6364b07f8cd4 in lemon-0.x


Ignore:
Timestamp:
03/01/04 12:33:10 (16 years ago)
Author:
marci
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@191
Message:

ResGraph3::EdgeMap?<T>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/work/edmonds_karp.hh

    r135 r137  
    453453    int id(NodeIt v) const { return G.id(v); }
    454454
    455     template <typename S>
     455    template <typename T>
    456456    class NodeMap {
    457       typename Graph::NodeMap<S> node_map;
     457      typename Graph::NodeMap<T> node_map;
    458458    public:
    459459      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      }
    463483    };
    464484
    465485  };
    466 
    467486
    468487  template <typename Graph, typename Number, typename FlowMap, typename CapacityMap>
Note: See TracChangeset for help on using the changeset viewer.