# HG changeset patch # User marci # Date 1085407983 0 # Node ID b3564d0e9c60ff31f1fd7b1a8f9bd2a68d770757 # Parent 531fc5f575efd3f9842e3756c8bbc1131e31ccf1 ResGraphWrapper pretected default constructor diff -r 531fc5f575ef -r b3564d0e9c60 src/hugo/graph_wrapper.h --- a/src/hugo/graph_wrapper.h Mon May 24 10:43:44 2004 +0000 +++ b/src/hugo/graph_wrapper.h Mon May 24 14:13:03 2004 +0000 @@ -1375,17 +1375,18 @@ template - 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 - 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, - BackwardFilter > { + ResForwardFilter, + ResBackwardFilter > { public: typedef SubBidirGraphWrapper< Graph, - ForwardFilter, - BackwardFilter > Parent; + ResForwardFilter, + ResBackwardFilter > Parent; protected: const CapacityMap* capacity; FlowMap* flow; - ForwardFilter forward_filter; - BackwardFilter backward_filter; -// ResGraphWrapper() : Parent(), -// capacity(0), flow(0) { } -// void setCapacityMap(const CapacityMap& _capacity) { -// capacity=&_capacity; -// } -// void setFlowMap(FlowMap& _flow) { -// flow=&_flow; + ResForwardFilter forward_filter; + ResBackwardFilter 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);