[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