[Lemon-commits] [lemon_svn] marci: r364 - in hugo/trunk/src/work: . marci
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:39:02 CET 2006
Author: marci
Date: Mon Mar 29 18:00:00 2004
New Revision: 364
Modified:
hugo/trunk/src/work/edmonds_karp.h
hugo/trunk/src/work/marci/ (props changed)
hugo/trunk/src/work/marci/dimacs.h
hugo/trunk/src/work/marci/graph_wrapper.h
hugo/trunk/src/work/marci/makefile
hugo/trunk/src/work/marci/time_measure.h
Log:
ResGraphWrapper partial improvement
Modified: hugo/trunk/src/work/edmonds_karp.h
==============================================================================
--- hugo/trunk/src/work/edmonds_karp.h (original)
+++ hugo/trunk/src/work/edmonds_karp.h Mon Mar 29 18:00:00 2004
@@ -1,6 +1,6 @@
// -*- c++ -*-
-#ifndef EDMONDS_KARP_H
-#define EDMONDS_KARP_H
+#ifndef HUGO_EDMONDS_KARP_H
+#define HUGO_EDMONDS_KARP_H
#include <algorithm>
#include <list>
@@ -1104,4 +1104,4 @@
} // namespace hugo
-#endif //EDMONDS_KARP_H
+#endif //HUGO_EDMONDS_KARP_H
Modified: hugo/trunk/src/work/marci/dimacs.h
==============================================================================
--- hugo/trunk/src/work/marci/dimacs.h (original)
+++ hugo/trunk/src/work/marci/dimacs.h Mon Mar 29 18:00:00 2004
@@ -1,6 +1,6 @@
// -*- c++ -*-
-#ifndef DIMACS_H
-#define DIMACS_H
+#ifndef HUGO_DIMACS_H
+#define HUGO_DIMACS_H
#include <iostream>
#include <string>
@@ -57,4 +57,4 @@
} //namespace hugo
-#endif //DIMACS_H
+#endif //HUGO_DIMACS_H
Modified: hugo/trunk/src/work/marci/graph_wrapper.h
==============================================================================
--- hugo/trunk/src/work/marci/graph_wrapper.h (original)
+++ hugo/trunk/src/work/marci/graph_wrapper.h Mon Mar 29 18:00:00 2004
@@ -1,6 +1,6 @@
// -*- c++ -*-
-#ifndef GRAPH_WRAPPER_H
-#define GRAPH_WRAPPER_H
+#ifndef HUGO_GRAPH_WRAPPER_H
+#define HUGO_GRAPH_WRAPPER_H
#include <invalid.h>
@@ -770,24 +770,26 @@
template<typename Graph, typename Number, typename FlowMap, typename CapacityMap>
class ResGraphWrapper {
public:
- typedef Graph BaseGraph;
+ //typedef Graph BaseGraph;
typedef typename Graph::Node Node;
typedef typename Graph::NodeIt NodeIt;
private:
typedef typename Graph::OutEdgeIt OldOutEdgeIt;
typedef typename Graph::InEdgeIt OldInEdgeIt;
protected:
- const Graph* graph;
+ //const Graph* graph;
+ typedef TrivGraphWrapper<const Graph> GraphWrapper;
+ GraphWrapper gw;
FlowMap* flow;
const CapacityMap* capacity;
public:
ResGraphWrapper(const Graph& _G, FlowMap& _flow,
const CapacityMap& _capacity) :
- graph(&_G), flow(&_flow), capacity(&_capacity) { }
+ gw(_G), flow(&_flow), capacity(&_capacity) { }
- void setGraph(const Graph& _graph) { graph = &_graph; }
- const Graph& getGraph() const { return (*graph); }
+ //void setGraph(const Graph& _graph) { graph = &_graph; }
+ //const Graph& getGraph() const { return (*graph); }
class Edge;
class OutEdgeIt;
@@ -829,12 +831,12 @@
OutEdgeIt(const Invalid& i) : Edge(i) { }
private:
OutEdgeIt(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& resG, Node v) : Edge() {
- resG.graph->first(out, v);
- while( resG.graph->valid(out) && !(resG.free(out)>0) ) { resG.graph->next(out); }
- if (!resG.graph->valid(out)) {
+ resG.gw.first(out, v);
+ while( resG.gw.valid(out) && !(resG.free(out)>0) ) { resG.gw.next(out); }
+ if (!resG.gw.valid(out)) {
out_or_in=0;
- resG.graph->first(in, v);
- while( resG.graph->valid(in) && !(resG.free(in)>0) ) { resG.graph->next(in); }
+ resG.gw.first(in, v);
+ while( resG.gw.valid(in) && !(resG.free(in)>0) ) { resG.gw.next(in); }
}
}
// public:
@@ -864,23 +866,23 @@
//EdgeIt(const EdgeIt& e) : Edge(e), v(e.v) { }
EdgeIt(const Invalid& i) : Edge(i) { }
EdgeIt(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& resG) : Edge() {
- resG.graph->first(v);
- if (resG.graph->valid(v)) resG.graph->first(out, v); else out=OldOutEdgeIt(INVALID);
- while (resG.graph->valid(out) && !(resG.free(out)>0) ) { resG.graph->next(out); }
- while (resG.graph->valid(v) && !resG.graph->valid(out)) {
- resG.graph->next(v);
- if (resG.graph->valid(v)) resG.graph->first(out, v);
- while (resG.graph->valid(out) && !(resG.free(out)>0) ) { resG.graph->next(out); }
+ resG.gw.first(v);
+ if (resG.gw.valid(v)) resG.gw.first(out, v); else out=/*OldOutEdgeIt*/(INVALID);
+ while (resG.gw.valid(out) && !(resG.free(out)>0) ) { resG.gw.next(out); }
+ while (resG.gw.valid(v) && !resG.gw.valid(out)) {
+ resG.gw.next(v);
+ if (resG.gw.valid(v)) resG.gw.first(out, v);
+ while (resG.gw.valid(out) && !(resG.free(out)>0) ) { resG.gw.next(out); }
}
- if (!resG.graph->valid(out)) {
+ if (!resG.gw.valid(out)) {
out_or_in=0;
- resG.graph->first(v);
- if (resG.graph->valid(v)) resG.graph->first(in, v); else in=OldInEdgeIt(INVALID);
- while (resG.graph->valid(in) && !(resG.free(in)>0) ) { resG.graph->next(in); }
- while (resG.graph->valid(v) && !resG.graph->valid(in)) {
- resG.graph->next(v);
- if (resG.graph->valid(v)) resG.graph->first(in, v);
- while (resG.graph->valid(in) && !(resG.free(in)>0) ) { resG.graph->next(in); }
+ resG.gw.first(v);
+ if (resG.gw.valid(v)) resG.gw.first(in, v); else in=/*OldInEdgeIt*/(INVALID);
+ while (resG.gw.valid(in) && !(resG.free(in)>0) ) { resG.gw.next(in); }
+ while (resG.gw.valid(v) && !resG.gw.valid(in)) {
+ resG.gw.next(v);
+ if (resG.gw.valid(v)) resG.gw.first(in, v);
+ while (resG.gw.valid(in) && !(resG.free(in)>0) ) { resG.gw.next(in); }
}
}
}
@@ -917,7 +919,7 @@
// }
};
- NodeIt& first(NodeIt& v) const { return graph->first(v); }
+ NodeIt& first(NodeIt& v) const { return gw.first(v); }
OutEdgeIt& first(OutEdgeIt& e, Node v) const {
e=OutEdgeIt(*this, v);
return e;
@@ -927,52 +929,52 @@
return e;
}
- NodeIt& next(NodeIt& n) const { return graph->next(n); }
+ NodeIt& next(NodeIt& n) const { return gw.next(n); }
OutEdgeIt& next(OutEdgeIt& e) const {
if (e.out_or_in) {
- Node v=graph->aNode(e.out);
- graph->next(e.out);
- while( graph->valid(e.out) && !(free(e.out)>0) ) { graph->next(e.out); }
- if (!graph->valid(e.out)) {
+ Node v=gw.aNode(e.out);
+ gw.next(e.out);
+ while( gw.valid(e.out) && !(free(e.out)>0) ) { gw.next(e.out); }
+ if (!gw.valid(e.out)) {
e.out_or_in=0;
- graph->first(e.in, v);
- while( graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
+ gw.first(e.in, v);
+ while( gw.valid(e.in) && !(free(e.in)>0) ) { gw.next(e.in); }
}
} else {
- graph->next(e.in);
- while( graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
+ gw.next(e.in);
+ while( gw.valid(e.in) && !(free(e.in)>0) ) { gw.next(e.in); }
}
return e;
}
EdgeIt& next(EdgeIt& e) const {
if (e.out_or_in) {
- graph->next(e.out);
- while (graph->valid(e.out) && !(free(e.out)>0) ) { graph->next(e.out); }
- while (graph->valid(e.v) && !graph->valid(e.out)) {
- graph->next(e.v);
- if (graph->valid(e.v)) graph->first(e.out, e.v);
- while (graph->valid(e.out) && !(free(e.out)>0) ) { graph->next(e.out); }
+ gw.next(e.out);
+ while (gw.valid(e.out) && !(free(e.out)>0) ) { gw.next(e.out); }
+ while (gw.valid(e.v) && !gw.valid(e.out)) {
+ gw.next(e.v);
+ if (gw.valid(e.v)) gw.first(e.out, e.v);
+ while (gw.valid(e.out) && !(free(e.out)>0) ) { gw.next(e.out); }
}
- if (!graph->valid(e.out)) {
+ if (!gw.valid(e.out)) {
e.out_or_in=0;
- graph->first(e.v);
- if (graph->valid(e.v)) graph->first(e.in, e.v); else e.in=OldInEdgeIt(INVALID);
- while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
- while (graph->valid(e.v) && !graph->valid(e.in)) {
- graph->next(e.v);
- if (graph->valid(e.v)) graph->first(e.in, e.v);
- while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
+ gw.first(e.v);
+ if (gw.valid(e.v)) gw.first(e.in, e.v); else e.in=/*OldInEdgeIt*/(INVALID);
+ while (gw.valid(e.in) && !(free(e.in)>0) ) { gw.next(e.in); }
+ while (gw.valid(e.v) && !gw.valid(e.in)) {
+ gw.next(e.v);
+ if (gw.valid(e.v)) gw.first(e.in, e.v);
+ while (gw.valid(e.in) && !(free(e.in)>0) ) { gw.next(e.in); }
}
}
} else {
- graph->next(e.in);
- while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
- while (graph->valid(e.v) && !graph->valid(e.in)) {
- graph->next(e.v);
- if (graph->valid(e.v)) graph->first(e.in, e.v);
- while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
+ gw.next(e.in);
+ while (gw.valid(e.in) && !(free(e.in)>0) ) { gw.next(e.in); }
+ while (gw.valid(e.v) && !gw.valid(e.in)) {
+ gw.next(e.v);
+ if (gw.valid(e.v)) gw.first(e.in, e.v);
+ while (gw.valid(e.in) && !(free(e.in)>0) ) { gw.next(e.in); }
}
}
return e;
@@ -994,20 +996,20 @@
}
Node tail(Edge e) const {
- return ((e.out_or_in) ? graph->aNode(e.out) : graph->aNode(e.in)); }
+ return ((e.out_or_in) ? gw.aNode(e.out) : gw.aNode(e.in)); }
Node head(Edge e) const {
- return ((e.out_or_in) ? graph->bNode(e.out) : graph->bNode(e.in)); }
+ return ((e.out_or_in) ? gw.bNode(e.out) : gw.bNode(e.in)); }
Node aNode(OutEdgeIt e) const {
- return ((e.out_or_in) ? graph->aNode(e.out) : graph->aNode(e.in)); }
+ return ((e.out_or_in) ? gw.aNode(e.out) : gw.aNode(e.in)); }
Node bNode(OutEdgeIt e) const {
- return ((e.out_or_in) ? graph->bNode(e.out) : graph->bNode(e.in)); }
+ return ((e.out_or_in) ? gw.bNode(e.out) : gw.bNode(e.in)); }
- int id(Node v) const { return graph->id(v); }
+ int id(Node v) const { return gw.id(v); }
- bool valid(Node n) const { return graph->valid(n); }
+ bool valid(Node n) const { return gw.valid(n); }
bool valid(Edge e) const {
- return e.out_or_in ? graph->valid(e.out) : graph->valid(e.in); }
+ return e.out_or_in ? gw.valid(e.out) : gw.valid(e.in); }
void augment(const Edge& e, Number a) const {
if (e.out_or_in)
@@ -1031,12 +1033,12 @@
return (flow->get(in));
}
- template<typename T> class NodeMap : public Graph::NodeMap<T> {
+ template<typename T> class NodeMap : public GraphWrapper::NodeMap<T> {
public:
NodeMap(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& _G)
- : Graph::NodeMap<T>(_G.getGraph()) { }
+ : GraphWrapper::NodeMap<T>(_G.gw) { }
NodeMap(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& _G,
- T a) : Graph::NodeMap<T>(_G.getGraph(), a) { }
+ T a) : GraphWrapper::NodeMap<T>(_G.gw, a) { }
};
// template <typename T>
@@ -1051,10 +1053,10 @@
template <typename T>
class EdgeMap {
- typename Graph::EdgeMap<T> forward_map, backward_map;
+ typename GraphWrapper::EdgeMap<T> forward_map, backward_map;
public:
- EdgeMap(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& _G) : forward_map(_G.getGraph()), backward_map(_G.getGraph()) { }
- EdgeMap(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& _G, T a) : forward_map(_G.getGraph(), a), backward_map(_G.getGraph(), a) { }
+ EdgeMap(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& _G) : forward_map(_G.gw), backward_map(_G.gw) { }
+ EdgeMap(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& _G, T a) : forward_map(_G.gw, a), backward_map(_G.gw, a) { }
void set(Edge e, T a) {
if (e.out_or_in)
forward_map.set(e.out, a);
@@ -1127,8 +1129,8 @@
// return first(i, p); }
//template<typename I> I getNext(const I& i) const {
- // return graph->getNext(i); }
- //template<typename I> I& next(I &i) const { return graph->next(i); }
+ // return gw.getNext(i); }
+ //template<typename I> I& next(I &i) const { return gw.next(i); }
template< typename It > It first() const {
It e; first(e); return e; }
@@ -1136,23 +1138,23 @@
template< typename It > It first(const Node& v) const {
It e; first(e, v); return e; }
- //Node head(const Edge& e) const { return graph->head(e); }
- //Node tail(const Edge& e) const { return graph->tail(e); }
+ //Node head(const Edge& e) const { return gw.head(e); }
+ //Node tail(const Edge& e) const { return gw.tail(e); }
//template<typename I> bool valid(const I& i) const
- // { return graph->valid(i); }
+ // { return gw.valid(i); }
- //int nodeNum() const { return graph->nodeNum(); }
- //int edgeNum() const { return graph->edgeNum(); }
+ //int nodeNum() const { return gw.nodeNum(); }
+ //int edgeNum() const { return gw.edgeNum(); }
//template<typename I> Node aNode(const I& e) const {
- // return graph->aNode(e); }
+ // return gw.aNode(e); }
//template<typename I> Node bNode(const I& e) const {
- // return graph->bNode(e); }
+ // return gw.bNode(e); }
- //Node addNode() const { return graph->addNode(); }
+ //Node addNode() const { return gw.addNode(); }
//Edge addEdge(const Node& tail, const Node& head) const {
- // return graph->addEdge(tail, head); }
+ // return gw.addEdge(tail, head); }
//void erase(const OutEdgeIt& e) {
// first_out_edge(this->tail(e))=e;
@@ -1162,9 +1164,9 @@
next(f);
first_out_edges.set(this->tail(e), f);
}
- //template<typename I> void erase(const I& i) const { graph->erase(i); }
+ //template<typename I> void erase(const I& i) const { gw.erase(i); }
- //void clear() const { graph->clear(); }
+ //void clear() const { gw.clear(); }
template<typename T> class NodeMap : public ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::NodeMap<T> {
public:
@@ -1209,7 +1211,7 @@
public:
FilterGraphWrapper(const Graph& _G, FlowMap& _flow,
const CapacityMap& _capacity) :
- ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>(_G, _flow, _capacity), dist(*this, graph->nodeNum()) {
+ ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>(_G, _flow, _capacity), dist(*this, gw.nodeNum()) {
}
OutEdgeIt& first(OutEdgeIt& e, const Node& n) const {
@@ -1248,13 +1250,13 @@
//void setGraph(Graph& _graph) { graph = &_graph; }
//Graph& getGraph() const { return (*graph); }
- //template<typename I> I& first(I& i) const { return graph->first(i); }
+ //template<typename I> I& first(I& i) const { return gw.first(i); }
//template<typename I, typename P> I& first(I& i, const P& p) const {
- // return graph->first(i, p); }
+ // return gw.first(i, p); }
//template<typename I> I getNext(const I& i) const {
- // return graph->getNext(i); }
- //template<typename I> I& next(I &i) const { return graph->next(i); }
+ // return gw.getNext(i); }
+ //template<typename I> I& next(I &i) const { return gw.next(i); }
template< typename It > It first() const {
It e; first(e); return e; }
@@ -1262,30 +1264,30 @@
template< typename It > It first(const Node& v) const {
It e; first(e, v); return e; }
- //Node head(const Edge& e) const { return graph->head(e); }
- //Node tail(const Edge& e) const { return graph->tail(e); }
+ //Node head(const Edge& e) const { return gw.head(e); }
+ //Node tail(const Edge& e) const { return gw.tail(e); }
//template<typename I> bool valid(const I& i) const
- // { return graph->valid(i); }
+ // { return gw.valid(i); }
//template<typename I> void setInvalid(const I &i);
- //{ return graph->setInvalid(i); }
+ //{ return gw.setInvalid(i); }
- //int nodeNum() const { return graph->nodeNum(); }
- //int edgeNum() const { return graph->edgeNum(); }
+ //int nodeNum() const { return gw.nodeNum(); }
+ //int edgeNum() const { return gw.edgeNum(); }
//template<typename I> Node aNode(const I& e) const {
- // return graph->aNode(e); }
+ // return gw.aNode(e); }
//template<typename I> Node bNode(const I& e) const {
- // return graph->bNode(e); }
+ // return gw.bNode(e); }
- //Node addNode() const { return graph->addNode(); }
+ //Node addNode() const { return gw.addNode(); }
//Edge addEdge(const Node& tail, const Node& head) const {
- // return graph->addEdge(tail, head); }
+ // return gw.addEdge(tail, head); }
- //template<typename I> void erase(const I& i) const { graph->erase(i); }
+ //template<typename I> void erase(const I& i) const { gw.erase(i); }
- //void clear() const { graph->clear(); }
+ //void clear() const { gw.clear(); }
template<typename T> class NodeMap : public ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::NodeMap<T> {
public:
@@ -1341,10 +1343,10 @@
// typedef typename Graph::SymEdgeIt SymEdgeIt;
// typedef typename Graph::EdgeIt EdgeIt;
-// int nodeNum() const { return graph->nodeNum(); }
-// int edgeNum() const { return graph->edgeNum(); }
+// int nodeNum() const { return gw.nodeNum(); }
+// int edgeNum() const { return gw.edgeNum(); }
-// Node& first(Node& n) const { return graph->first(n); }
+// Node& first(Node& n) const { return gw.first(n); }
// // Edge and SymEdge is missing!!!!
// // Edge <-> In/OutEdgeIt conversion is missing!!!!
@@ -1353,70 +1355,70 @@
// OutEdgeIt& first(OutEdgeIt& e, const Node& n) const
// {
// e.n=n;
-// graph->first(e.o,n);
-// while(graph->valid(e.o) && fmap.get(e.o)>=himap.get(e.o))
-// graph->goNext(e.o);
-// if(!graph->valid(e.o)) {
-// graph->first(e.i,n);
-// while(graph->valid(e.i) && fmap.get(e.i)<=lomap.get(e.i))
-// graph->goNext(e.i);
+// gw.first(e.o,n);
+// while(gw.valid(e.o) && fmap.get(e.o)>=himap.get(e.o))
+// gw.goNext(e.o);
+// if(!gw.valid(e.o)) {
+// gw.first(e.i,n);
+// while(gw.valid(e.i) && fmap.get(e.i)<=lomap.get(e.i))
+// gw.goNext(e.i);
// }
// return e;
// }
// /*
// OutEdgeIt &goNext(OutEdgeIt &e)
// {
-// if(graph->valid(e.o)) {
-// while(graph->valid(e.o) && fmap.get(e.o)>=himap.get(e.o))
-// graph->goNext(e.o);
-// if(graph->valid(e.o)) return e;
-// else graph->first(e.i,e.n);
+// if(gw.valid(e.o)) {
+// while(gw.valid(e.o) && fmap.get(e.o)>=himap.get(e.o))
+// gw.goNext(e.o);
+// if(gw.valid(e.o)) return e;
+// else gw.first(e.i,e.n);
// }
// else {
-// while(graph->valid(e.i) && fmap.get(e.i)<=lomap.get(e.i))
-// graph->goNext(e.i);
+// while(gw.valid(e.i) && fmap.get(e.i)<=lomap.get(e.i))
+// gw.goNext(e.i);
// return e;
// }
// }
// OutEdgeIt Next(const OutEdgeIt &e) {OutEdgeIt t(e); return goNext(t);}
// */
-// //bool valid(const OutEdgeIt e) { return graph->valid(e.o)||graph->valid(e.i);}
+// //bool valid(const OutEdgeIt e) { return gw.valid(e.o)||gw.valid(e.i);}
// //FIXME
// InEdgeIt& first(InEdgeIt& e, const Node& n) const
// {
// e.n=n;
-// graph->first(e.i,n);
-// while(graph->valid(e.i) && fmap.get(e.i)>=himap.get(e.i))
-// graph->goNext(e.i);
-// if(!graph->valid(e.i)) {
-// graph->first(e.o,n);
-// while(graph->valid(e.o) && fmap.get(e.o)<=lomap.get(e.o))
-// graph->goNext(e.o);
+// gw.first(e.i,n);
+// while(gw.valid(e.i) && fmap.get(e.i)>=himap.get(e.i))
+// gw.goNext(e.i);
+// if(!gw.valid(e.i)) {
+// gw.first(e.o,n);
+// while(gw.valid(e.o) && fmap.get(e.o)<=lomap.get(e.o))
+// gw.goNext(e.o);
// }
// return e;
// }
// /*
// InEdgeIt &goNext(InEdgeIt &e)
// {
-// if(graph->valid(e.i)) {
-// while(graph->valid(e.i) && fmap.get(e.i)>=himap.get(e.i))
-// graph->goNext(e.i);
-// if(graph->valid(e.i)) return e;
-// else graph->first(e.o,e.n);
+// if(gw.valid(e.i)) {
+// while(gw.valid(e.i) && fmap.get(e.i)>=himap.get(e.i))
+// gw.goNext(e.i);
+// if(gw.valid(e.i)) return e;
+// else gw.first(e.o,e.n);
// }
// else {
-// while(graph->valid(e.o) && fmap.get(e.o)<=lomap.get(e.o))
-// graph->goNext(e.o);
+// while(gw.valid(e.o) && fmap.get(e.o)<=lomap.get(e.o))
+// gw.goNext(e.o);
// return e;
// }
// }
// InEdgeIt Next(const InEdgeIt &e) {InEdgeIt t(e); return goNext(t);}
// */
-// //bool valid(const InEdgeIt e) { return graph->valid(e.i)||graph->valid(e.o);}
+// //bool valid(const InEdgeIt e) { return gw.valid(e.i)||gw.valid(e.o);}
-// //template<typename I> I &goNext(I &i); { return graph->goNext(i); }
-// //template<typename I> I next(const I i); { return graph->goNext(i); }
+// //template<typename I> I &goNext(I &i); { return gw.goNext(i); }
+// //template<typename I> I next(const I i); { return gw.goNext(i); }
// template< typename It > It first() const {
// It e; first(e); return e; }
@@ -1424,27 +1426,27 @@
// template< typename It > It first(Node v) const {
// It e; first(e, v); return e; }
-// Node head(const Edge& e) const { return graph->head(e); }
-// Node tail(const Edge& e) const { return graph->tail(e); }
+// Node head(const Edge& e) const { return gw.head(e); }
+// Node tail(const Edge& e) const { return gw.tail(e); }
// template<typename I> Node aNode(const I& e) const {
-// return graph->aNode(e); }
+// return gw.aNode(e); }
// template<typename I> Node bNode(const I& e) const {
-// return graph->bNode(e); }
+// return gw.bNode(e); }
// //template<typename I> bool valid(const I i);
-// //{ return graph->valid(i); }
+// //{ return gw.valid(i); }
// //template<typename I> void setInvalid(const I &i);
-// //{ return graph->setInvalid(i); }
+// //{ return gw.setInvalid(i); }
-// Node addNode() { return graph->addNode(); }
+// Node addNode() { return gw.addNode(); }
// Edge addEdge(const Node& tail, const Node& head) {
-// return graph->addEdge(tail, head); }
+// return gw.addEdge(tail, head); }
-// template<typename I> void erase(const I& i) { graph->erase(i); }
+// template<typename I> void erase(const I& i) { gw.erase(i); }
-// void clear() { graph->clear(); }
+// void clear() { gw.clear(); }
// template<typename S> class NodeMap : public Graph::NodeMap<S> { };
// template<typename S> class EdgeMap : public Graph::EdgeMap<S> { };
@@ -1458,5 +1460,5 @@
} //namespace hugo
-#endif //GRAPH_WRAPPER_H
+#endif //HUGO_GRAPH_WRAPPER_H
Modified: hugo/trunk/src/work/marci/makefile
==============================================================================
--- hugo/trunk/src/work/marci/makefile (original)
+++ hugo/trunk/src/work/marci/makefile Mon Mar 29 18:00:00 2004
@@ -5,17 +5,19 @@
#CXXFLAGS = -W -Wall -ansi -pedantic -I. -I.. -I../alpar
#LEDAROOT ?= /ledasrc/LEDA-4.1
BOOSTROOT ?= /home/marci/boost
-INCLUDEDIRS ?= -I../../include -I.. -I. -I../{marci,jacint,alpar,klao,akos,athos} -I$(LEDAROOT)/incl -I$(BOOSTROOT)
+INCLUDEDIRS ?= -I../../include -I.. -I../{marci,jacint,alpar,klao,akos,athos} -I$(BOOSTROOT)
+LEDAINCLUDE ?= -I$(LEDAROOT)/incl
CXXFLAGS = -g -O -W -Wall $(INCLUDEDIRS) -ansi -pedantic
-LEDABINARIES = lg_vs_sg leda_graph_demo leda_bfs_dfs
-BINARIES = edmonds_karp_demo max_bipartite_matching_demo
+LEDABINARIES = lg_vs_sg leda_graph_demo leda_bfs_dfs max_bipartite_matching_demo
+BINARIES = edmonds_karp_demo
#preflow_demo_boost edmonds_karp_demo_boost preflow_demo_jacint preflow_demo_athos edmonds_karp_demo_alpar preflow_demo_leda
all: $(BINARIES)
.depend dep depend:
-g++ $(INCLUDEDIRS) -M $(BINARIES:=.cc) > .depend #2>/dev/null
+# -g++ $(INCLUDEDIRS) $(LEDAINCLUDE) -M $(LEDABINARIES:=.cc) >> .depend #2>/dev/null
@@ -41,8 +43,8 @@
$(CXX3) -Wall -O -L$(LEDAROOT) -o leda_bfs_dfs leda_bfs_dfs.o -lG -lL -lm
edmonds_karp_demo:
- $(CXX3) $(CXXFLAGS) -g -I. -I.. -o edmonds_karp_demo edmonds_karp_demo.cc
- $(CXX3) $(CXXFLAGS) -g -pg -I. -I.. -o edmonds_karp_demo_prof edmonds_karp_demo.cc
+ $(CXX3) $(CXXFLAGS) -o edmonds_karp_demo edmonds_karp_demo.cc
+# $(CXX3) $(CXXFLAGS) -pg -o edmonds_karp_demo_prof edmonds_karp_demo.cc
lg_vs_sg:
$(CXX3) $(CXXFLAGS) -g -I. -I.. -o lg_vs_sg lg_vs_sg.cc
Modified: hugo/trunk/src/work/marci/time_measure.h
==============================================================================
--- hugo/trunk/src/work/marci/time_measure.h (original)
+++ hugo/trunk/src/work/marci/time_measure.h Mon Mar 29 18:00:00 2004
@@ -1,6 +1,6 @@
// -*- c++ -*-
-#ifndef TIME_MEASURE_H
-#define TIME_MEASURE_H
+#ifndef HUGO_TIME_MEASURE_H
+#define HUGO_TIME_MEASURE_H
#include <sys/time.h>
#include <sys/times.h>
@@ -127,4 +127,4 @@
return os;
}
-#endif //TIME_MEASURE_H
+#endif //HUGO_TIME_MEASURE_H
More information about the Lemon-commits
mailing list