[Lemon-commits] [lemon_svn] marci: r861 - hugo/trunk/src/hugo

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:41:54 CET 2006


Author: marci
Date: Mon May 24 16:13:03 2004
New Revision: 861

Modified:
   hugo/trunk/src/hugo/graph_wrapper.h

Log:
ResGraphWrapper pretected default constructor


Modified: hugo/trunk/src/hugo/graph_wrapper.h
==============================================================================
--- hugo/trunk/src/hugo/graph_wrapper.h	(original)
+++ hugo/trunk/src/hugo/graph_wrapper.h	Mon May 24 16:13:03 2004
@@ -1375,17 +1375,18 @@
 
   template<typename Graph, typename Number,
 	   typename CapacityMap, typename FlowMap>
-  class ForwardFilter {
-    const Graph* graph;
+  class ResForwardFilter {
+    //    const Graph* graph;
     const CapacityMap* capacity;
     const FlowMap* flow;
   public:
-    void setGraph(const Graph& _graph) { graph=&_graph; }
+    ResForwardFilter(/*const Graph& _graph, */
+		     const CapacityMap& _capacity, const FlowMap& _flow) :
+      /*graph(&_graph),*/ capacity(&_capacity), flow(&_flow) { }
+    ResForwardFilter() : /*graph(0),*/ capacity(0), flow(0) { }
+    //void setGraph(const Graph& _graph) { graph=&_graph; }
     void setCapacity(const CapacityMap& _capacity) { capacity=&_capacity; }
     void setFlow(const FlowMap& _flow) { flow=&_flow; }
-    ForwardFilter(const Graph& _graph, 
-		  const CapacityMap& _capacity, const FlowMap& _flow) :
-      graph(&_graph), capacity(&_capacity), flow(&_flow) { }
     bool operator[](const typename Graph::Edge& e) const {
       return ((*flow)[e] < (*capacity)[e]);
     }
@@ -1393,17 +1394,18 @@
 
   template<typename Graph, typename Number,
 	   typename CapacityMap, typename FlowMap>
-  class BackwardFilter {
-    const Graph* graph;
+  class ResBackwardFilter {
+    //const Graph* graph;
     const CapacityMap* capacity;
     const FlowMap* flow;
   public:
-    void setGraph(const Graph& _graph) { graph=&_graph; }
+    ResBackwardFilter(/*const Graph& _graph,*/ 
+		      const CapacityMap& _capacity, const FlowMap& _flow) :
+      /*graph(&_graph),*/ capacity(&_capacity), flow(&_flow) { }
+    ResBackwardFilter() : /*graph(0),*/ capacity(0), flow(0) { }
+    //void setGraph(const Graph& _graph) { graph=&_graph; }
     void setCapacity(const CapacityMap& _capacity) { capacity=&_capacity; }
     void setFlow(const FlowMap& _flow) { flow=&_flow; }
-    BackwardFilter(const Graph& _graph, 
-		   const CapacityMap& _capacity, const FlowMap& _flow) :
-      graph(&_graph), capacity(&_capacity), flow(&_flow) { }
     bool operator[](const typename Graph::Edge& e) const {
       return (0 < (*flow)[e]);
     }
@@ -1418,32 +1420,42 @@
   class ResGraphWrapper : 
     public SubBidirGraphWrapper< 
     Graph, 
-    ForwardFilter<Graph, Number, CapacityMap, FlowMap>,  
-    BackwardFilter<Graph, Number, CapacityMap, FlowMap> > {
+    ResForwardFilter<Graph, Number, CapacityMap, FlowMap>,  
+    ResBackwardFilter<Graph, Number, CapacityMap, FlowMap> > {
   public:
     typedef SubBidirGraphWrapper< 
       Graph, 
-      ForwardFilter<Graph, Number, CapacityMap, FlowMap>,  
-      BackwardFilter<Graph, Number, CapacityMap, FlowMap> > Parent;
+      ResForwardFilter<Graph, Number, CapacityMap, FlowMap>,  
+      ResBackwardFilter<Graph, Number, CapacityMap, FlowMap> > Parent;
   protected:
     const CapacityMap* capacity;
     FlowMap* flow;
-    ForwardFilter<Graph, Number, CapacityMap, FlowMap> forward_filter;
-    BackwardFilter<Graph, Number, CapacityMap, FlowMap> backward_filter;
-//     ResGraphWrapper() : Parent(), 
-// 			capacity(0), flow(0) { }
-//     void setCapacityMap(const CapacityMap& _capacity) {
-//       capacity=&_capacity;
-//     }
-//     void setFlowMap(FlowMap& _flow) {
-//       flow=&_flow;
+    ResForwardFilter<Graph, Number, CapacityMap, FlowMap> forward_filter;
+    ResBackwardFilter<Graph, Number, CapacityMap, FlowMap> backward_filter;
+    ResGraphWrapper() : Parent(), 
+ 			capacity(0), flow(0) { }
+    void setCapacityMap(const CapacityMap& _capacity) {
+      capacity=&_capacity;
+      forward_filter.setCapacity(_capacity);
+      backward_filter.setCapacity(_capacity);
+    }
+    void setFlowMap(FlowMap& _flow) {
+      flow=&_flow;
+      forward_filter.setFlow(_flow);
+      backward_filter.setFlow(_flow);
+    }
+//     /// \bug does graph reference needed in filtermaps??
+//     void setGraph(const Graph& _graph) { 
+//       Parent::setGraph(_graph);
+//       forward_filter.setGraph(_graph);
+//       backward_filter.setGraph(_graph);
 //     }
   public:
     ResGraphWrapper(Graph& _graph, const CapacityMap& _capacity, 
 		       FlowMap& _flow) : 
       Parent(), capacity(&_capacity), flow(&_flow), 
-      forward_filter(_graph, _capacity, _flow), 
-      backward_filter(_graph, _capacity, _flow) {
+      forward_filter(/*_graph,*/ _capacity, _flow), 
+      backward_filter(/*_graph,*/ _capacity, _flow) {
       Parent::setGraph(_graph);
       Parent::setForwardFilterMap(forward_filter);
       Parent::setBackwardFilterMap(backward_filter);



More information about the Lemon-commits mailing list