equal
  deleted
  inserted
  replaced
  
    
    
    25 protected:  | 
    25 protected:  | 
    26   Graph* graph;  | 
    26   Graph* graph;  | 
    27 public:  | 
    27 public:  | 
    28   GraphWrapper(Graph& _graph) : graph(&_graph) { } | 
    28   GraphWrapper(Graph& _graph) : graph(&_graph) { } | 
    29    | 
    29    | 
    30   template<typename T> class NodeMap : public Graph::NodeMap<T> {  | 
    30   template<typename T> class NodeMap : public Graph::template NodeMap<T> {  | 
         | 
    31     typedef typename Graph::template NodeMap<T> Parent;  | 
    31   public:  | 
    32   public:  | 
    32     NodeMap(const GraphWrapper<Graph>& _G) :    | 
    33     NodeMap(const GraphWrapper<Graph>& _G) :    | 
    33       Graph::NodeMap<T>(*(_G.graph)) { } | 
    34       Parent(*(_G.graph)) { } | 
    34   };  | 
    35   };  | 
    35 };  | 
    36 };  | 
    36   | 
    37   | 
    37 template<typename Graph>  | 
    38 template<typename Graph>  | 
    38 class ResGraphWrapper : public GraphWrapper<Graph> { | 
    39 class ResGraphWrapper : public GraphWrapper<Graph> { | 
    45   typedef ResGraphWrapper<const Graph> ResGW;  | 
    46   typedef ResGraphWrapper<const Graph> ResGW;  | 
    46 public:  | 
    47 public:  | 
    47   MaxFlow(const Graph& _g) : g(&_g) { } | 
    48   MaxFlow(const Graph& _g) : g(&_g) { } | 
    48   void augmentOnShortestPath() { | 
    49   void augmentOnShortestPath() { | 
    49     ResGW res_graph(*g);  | 
    50     ResGW res_graph(*g);  | 
    50     typename ResGW::NodeMap<int> pred(res_graph);   | 
    51     typename ResGW::template NodeMap<int> pred(res_graph);   | 
    51   }  | 
    52   }  | 
    52 };  | 
    53 };  | 
    53   | 
    54   | 
    54 int main(int, char **) { | 
    55 int main(int, char **) { | 
    55   ListGraph G;  | 
    56   ListGraph G;  |