1.1 --- a/src/work/marci/graph_wrapper.h Fri Mar 19 22:16:05 2004 +0000
1.2 +++ b/src/work/marci/graph_wrapper.h Sat Mar 20 11:19:00 2004 +0000
1.3 @@ -29,19 +29,19 @@
1.4 void setGraph(Graph& _graph) { graph = &_graph; }
1.5 Graph& getGraph() const { return (*graph); }
1.6
1.7 - template<typename I> I& /*getF*/first(I& i) const { return graph->/*getF*/first(i); }
1.8 - template<typename I, typename P> I& /*getF*/first(I& i, const P& p) const {
1.9 - return graph->/*getF*/first(i, p); }
1.10 + template<typename I> I& first(I& i) const { return graph->first(i); }
1.11 + template<typename I, typename P> I& first(I& i, const P& p) const {
1.12 + return graph->first(i, p); }
1.13
1.14 template<typename I> I getNext(const I& i) const {
1.15 return graph->getNext(i); }
1.16 template<typename I> I& next(I &i) const { return graph->next(i); }
1.17
1.18 template< typename It > It first() const {
1.19 - It e; /*getF*/first(e); return e; }
1.20 + It e; first(e); return e; }
1.21
1.22 template< typename It > It first(const Node& v) const {
1.23 - It e; /*getF*/first(e, v); return e; }
1.24 + It e; first(e, v); return e; }
1.25
1.26 Node head(const Edge& e) const { return graph->head(e); }
1.27 Node tail(const Edge& e) const { return graph->tail(e); }
1.28 @@ -85,6 +85,81 @@
1.29 };
1.30 };
1.31
1.32 + template<typename GraphWrapper>
1.33 + class GraphWrapperSkeleton {
1.34 + protected:
1.35 + GraphWrapper gw;
1.36 +
1.37 + public:
1.38 + typedef typename GraphWrapper::BaseGraph BaseGraph;
1.39 +
1.40 + typedef typename GraphWrapper::Node Node;
1.41 + typedef typename GraphWrapper::NodeIt NodeIt;
1.42 +
1.43 + typedef typename GraphWrapper::Edge Edge;
1.44 + typedef typename GraphWrapper::OutEdgeIt OutEdgeIt;
1.45 + typedef typename GraphWrapper::InEdgeIt InEdgeIt;
1.46 + //typedef typename GraphWrapper::SymEdgeIt SymEdgeIt;
1.47 + typedef typename GraphWrapper::EdgeIt EdgeIt;
1.48 +
1.49 + //GraphWrapperSkeleton() : gw() { }
1.50 + GraphWrapperSkeleton(GraphWrapper& _gw) : gw(_gw) { }
1.51 +
1.52 + void setGraph(BaseGraph& _graph) { gw.setGraph(_graph); }
1.53 + BaseGraph& getGraph() const { return gw.getGraph(); }
1.54 +
1.55 + template<typename I> I& first(I& i) const { return gw.first(i); }
1.56 + template<typename I, typename P> I& first(I& i, const P& p) const {
1.57 + return gw.first(i, p); }
1.58 +
1.59 + template<typename I> I getNext(const I& i) const { return gw.getNext(i); }
1.60 + template<typename I> I& next(I &i) const { return gw.next(i); }
1.61 +
1.62 + template< typename It > It first() const {
1.63 + It e; this->first(e); return e; }
1.64 +
1.65 + template< typename It > It first(const Node& v) const {
1.66 + It e; this->first(e, v); return e; }
1.67 +
1.68 + Node head(const Edge& e) const { return gw.head(e); }
1.69 + Node tail(const Edge& e) const { return gw.tail(e); }
1.70 +
1.71 + template<typename I> bool valid(const I& i) const { return gw.valid(i); }
1.72 +
1.73 + //template<typename I> void setInvalid(const I &i);
1.74 + //{ return graph->setInvalid(i); }
1.75 +
1.76 + int nodeNum() const { return gw.nodeNum(); }
1.77 + int edgeNum() const { return gw.edgeNum(); }
1.78 +
1.79 + template<typename I> Node aNode(const I& e) const { return gw.aNode(e); }
1.80 + template<typename I> Node bNode(const I& e) const { return gw.bNode(e); }
1.81 +
1.82 + Node addNode() const { return gw.addNode(); }
1.83 + Edge addEdge(const Node& tail, const Node& head) const {
1.84 + return gw.addEdge(tail, head); }
1.85 +
1.86 + template<typename I> void erase(const I& i) const { gw.erase(i); }
1.87 +
1.88 + void clear() const { gw.clear(); }
1.89 +
1.90 + template<typename T> class NodeMap : public GraphWrapper::NodeMap<T> {
1.91 + public:
1.92 + NodeMap(const GraphWrapperSkeleton<GraphWrapper>& _G) :
1.93 + GraphWrapper::NodeMap<T>(_G.gw) { }
1.94 + NodeMap(const GraphWrapperSkeleton<GraphWrapper>& _G, T a) :
1.95 + GraphWrapper::NodeMap<T>(_G.gw, a) { }
1.96 + };
1.97 +
1.98 + template<typename T> class EdgeMap : public GraphWrapper::EdgeMap<T> {
1.99 + public:
1.100 + EdgeMap(const GraphWrapperSkeleton<GraphWrapper>& _G) :
1.101 + GraphWrapper::EdgeMap<T>(_G.gw) { }
1.102 + EdgeMap(const GraphWrapperSkeleton<GraphWrapper>& _G, T a) :
1.103 + GraphWrapper::EdgeMap<T>(_G.gw, a) { }
1.104 + };
1.105 + };
1.106 +
1.107 template<typename Graph>
1.108 class RevGraphWrapper
1.109 {
1.110 @@ -109,19 +184,19 @@
1.111 void setGraph(Graph& _graph) { graph = &_graph; }
1.112 Graph& getGraph() const { return (*graph); }
1.113
1.114 - template<typename I> I& /*getF*/first(I& i) const { return graph->/*getF*/first(i); }
1.115 - template<typename I, typename P> I& /*getF*/first(I& i, const P& p) const {
1.116 - return graph->/*getF*/first(i, p); }
1.117 + template<typename I> I& first(I& i) const { return graph->first(i); }
1.118 + template<typename I, typename P> I& first(I& i, const P& p) const {
1.119 + return graph->first(i, p); }
1.120
1.121 template<typename I> I getNext(const I& i) const {
1.122 return graph->getNext(i); }
1.123 template<typename I> I& next(I &i) const { return graph->next(i); }
1.124
1.125 template< typename It > It first() const {
1.126 - It e; /*getF*/first(e); return e; }
1.127 + It e; first(e); return e; }
1.128
1.129 template< typename It > It first(const Node& v) const {
1.130 - It e; /*getF*/first(e, v); return e; }
1.131 + It e; first(e, v); return e; }
1.132
1.133 Node head(const Edge& e) const { return graph->tail(e); }
1.134 Node tail(const Edge& e) const { return graph->head(e); }
1.135 @@ -227,20 +302,20 @@
1.136 OutEdgeIt(const Invalid& i) : Edge(i) { }
1.137 OutEdgeIt(const UndirGraphWrapper& _G, const Node& n) : Edge() {
1.138 out_or_in=true;
1.139 - _G.graph->/*getF*/first(out, n);
1.140 + _G.graph->first(out, n);
1.141 if (!(_G.graph->valid(out))) {
1.142 out_or_in=false;
1.143 - _G.graph->/*getF*/first(in, n);
1.144 + _G.graph->first(in, n);
1.145 }
1.146 }
1.147 };
1.148
1.149 - OutEdgeIt& /*getF*/first(OutEdgeIt& e, const Node& n) const {
1.150 + OutEdgeIt& first(OutEdgeIt& e, const Node& n) const {
1.151 e.out_or_in=true;
1.152 - graph->/*getF*/first(e.out, n);
1.153 + graph->first(e.out, n);
1.154 if (!(graph->valid(e.out))) {
1.155 e.out_or_in=false;
1.156 - graph->/*getF*/first(e.in, n);
1.157 + graph->first(e.in, n);
1.158 }
1.159 return e;
1.160 }
1.161 @@ -251,7 +326,7 @@
1.162 graph->next(e.out);
1.163 if (!graph->valid(e.out)) {
1.164 e.out_or_in=false;
1.165 - graph->/*getF*/first(e.in, n);
1.166 + graph->first(e.in, n);
1.167 }
1.168 } else {
1.169 graph->next(e.in);
1.170 @@ -266,19 +341,19 @@
1.171
1.172 typedef OutEdgeIt InEdgeIt;
1.173
1.174 - template<typename I> I& /*getF*/first(I& i) const { return graph->/*getF*/first(i); }
1.175 -// template<typename I, typename P> I& /*getF*/first(I& i, const P& p) const {
1.176 -// return graph->/*getF*/first(i, p); }
1.177 + template<typename I> I& first(I& i) const { return graph->first(i); }
1.178 +// template<typename I, typename P> I& first(I& i, const P& p) const {
1.179 +// return graph->first(i, p); }
1.180
1.181 template<typename I> I getNext(const I& i) const {
1.182 return graph->getNext(i); }
1.183 template<typename I> I& next(I &i) const { return graph->next(i); }
1.184
1.185 template< typename It > It first() const {
1.186 - It e; /*getF*/first(e); return e; }
1.187 + It e; first(e); return e; }
1.188
1.189 template< typename It > It first(const Node& v) const {
1.190 - It e; /*getF*/first(e, v); return e; }
1.191 + It e; first(e, v); return e; }
1.192
1.193 Node head(const Edge& e) const { return graph->head(e); }
1.194 Node tail(const Edge& e) const { return graph->tail(e); }
1.195 @@ -348,17 +423,17 @@
1.196 // int nodeNum() const { return graph->nodeNum(); }
1.197 // int edgeNum() const { return graph->edgeNum(); }
1.198
1.199 -// template<typename I> I& /*getF*/first(I& i) const { return graph->/*getF*/first(i); }
1.200 -// template<typename I, typename P> I& /*getF*/first(I& i, const P& p) const {
1.201 -// return graph->/*getF*/first(i, p); }
1.202 +// template<typename I> I& first(I& i) const { return graph->first(i); }
1.203 +// template<typename I, typename P> I& first(I& i, const P& p) const {
1.204 +// return graph->first(i, p); }
1.205 // //template<typename I> I next(const I i); { return graph->goNext(i); }
1.206 // //template<typename I> I &goNext(I &i); { return graph->goNext(i); }
1.207
1.208 // template< typename It > It first() const {
1.209 -// It e; /*getF*/first(e); return e; }
1.210 +// It e; first(e); return e; }
1.211
1.212 // template< typename It > It first(Node v) const {
1.213 -// It e; /*getF*/first(e, v); return e; }
1.214 +// It e; first(e, v); return e; }
1.215
1.216 // Node head(const Edge& e) const { return graph->head(e); }
1.217 // Node tail(const Edge& e) const { return graph->tail(e); }
1.218 @@ -455,11 +530,11 @@
1.219 OutEdgeIt(const Invalid& i) : Edge(i) { }
1.220 private:
1.221 OutEdgeIt(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& resG, Node v) : Edge() {
1.222 - resG.graph->/*getF*/first(out, v);
1.223 + resG.graph->first(out, v);
1.224 while( resG.graph->valid(out) && !(resG.free(out)>0) ) { resG.graph->next(out); }
1.225 if (!resG.graph->valid(out)) {
1.226 out_or_in=0;
1.227 - resG.graph->/*getF*/first(in, v);
1.228 + resG.graph->first(in, v);
1.229 while( resG.graph->valid(in) && !(resG.free(in)>0) ) { resG.graph->next(in); }
1.230 }
1.231 }
1.232 @@ -471,7 +546,7 @@
1.233 // while( out.valid() && !(Edge::free()>0) ) { ++out; }
1.234 // if (!out.valid()) {
1.235 // out_or_in=0;
1.236 -// G->/*getF*/first(in, v);
1.237 +// G->first(in, v);
1.238 // while( in.valid() && !(Edge::free()>0) ) { ++in; }
1.239 // }
1.240 // } else {
1.241 @@ -490,22 +565,22 @@
1.242 //EdgeIt(const EdgeIt& e) : Edge(e), v(e.v) { }
1.243 EdgeIt(const Invalid& i) : Edge(i) { }
1.244 EdgeIt(const ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>& resG) : Edge() {
1.245 - resG.graph->/*getF*/first(v);
1.246 - if (resG.graph->valid(v)) resG.graph->/*getF*/first(out, v); else out=OldOutEdgeIt(INVALID);
1.247 + resG.graph->first(v);
1.248 + if (resG.graph->valid(v)) resG.graph->first(out, v); else out=OldOutEdgeIt(INVALID);
1.249 while (resG.graph->valid(out) && !(resG.free(out)>0) ) { resG.graph->next(out); }
1.250 while (resG.graph->valid(v) && !resG.graph->valid(out)) {
1.251 resG.graph->next(v);
1.252 - if (resG.graph->valid(v)) resG.graph->/*getF*/first(out, v);
1.253 + if (resG.graph->valid(v)) resG.graph->first(out, v);
1.254 while (resG.graph->valid(out) && !(resG.free(out)>0) ) { resG.graph->next(out); }
1.255 }
1.256 if (!resG.graph->valid(out)) {
1.257 out_or_in=0;
1.258 - resG.graph->/*getF*/first(v);
1.259 - if (resG.graph->valid(v)) resG.graph->/*getF*/first(in, v); else in=OldInEdgeIt(INVALID);
1.260 + resG.graph->first(v);
1.261 + if (resG.graph->valid(v)) resG.graph->first(in, v); else in=OldInEdgeIt(INVALID);
1.262 while (resG.graph->valid(in) && !(resG.free(in)>0) ) { resG.graph->next(in); }
1.263 while (resG.graph->valid(v) && !resG.graph->valid(in)) {
1.264 resG.graph->next(v);
1.265 - if (resG.graph->valid(v)) resG.graph->/*getF*/first(in, v);
1.266 + if (resG.graph->valid(v)) resG.graph->first(in, v);
1.267 while (resG.graph->valid(in) && !(resG.free(in)>0) ) { resG.graph->next(in); }
1.268 }
1.269 }
1.270 @@ -516,17 +591,17 @@
1.271 // while (out.valid() && !(Edge::free()>0) ) { ++out; }
1.272 // while (v.valid() && !out.valid()) {
1.273 // ++v;
1.274 -// if (v.valid()) G->/*getF*/first(out, v);
1.275 +// if (v.valid()) G->first(out, v);
1.276 // while (out.valid() && !(Edge::free()>0) ) { ++out; }
1.277 // }
1.278 // if (!out.valid()) {
1.279 // out_or_in=0;
1.280 -// G->/*getF*/first(v);
1.281 -// if (v.valid()) G->/*getF*/first(in, v); else in=OldInEdgeIt();
1.282 +// G->first(v);
1.283 +// if (v.valid()) G->first(in, v); else in=OldInEdgeIt();
1.284 // while (in.valid() && !(Edge::free()>0) ) { ++in; }
1.285 // while (v.valid() && !in.valid()) {
1.286 // ++v;
1.287 -// if (v.valid()) G->/*getF*/first(in, v);
1.288 +// if (v.valid()) G->first(in, v);
1.289 // while (in.valid() && !(Edge::free()>0) ) { ++in; }
1.290 // }
1.291 // }
1.292 @@ -535,7 +610,7 @@
1.293 // while (in.valid() && !(Edge::free()>0) ) { ++in; }
1.294 // while (v.valid() && !in.valid()) {
1.295 // ++v;
1.296 -// if (v.valid()) G->/*getF*/first(in, v);
1.297 +// if (v.valid()) G->first(in, v);
1.298 // while (in.valid() && !(Edge::free()>0) ) { ++in; }
1.299 // }
1.300 // }
1.301 @@ -543,12 +618,12 @@
1.302 // }
1.303 };
1.304
1.305 - NodeIt& /*getF*/first(NodeIt& v) const { return graph->/*getF*/first(v); }
1.306 - OutEdgeIt& /*getF*/first(OutEdgeIt& e, Node v) const {
1.307 + NodeIt& first(NodeIt& v) const { return graph->first(v); }
1.308 + OutEdgeIt& first(OutEdgeIt& e, Node v) const {
1.309 e=OutEdgeIt(*this, v);
1.310 return e;
1.311 }
1.312 - EdgeIt& /*getF*/first(EdgeIt& e) const {
1.313 + EdgeIt& first(EdgeIt& e) const {
1.314 e=EdgeIt(*this);
1.315 return e;
1.316 }
1.317 @@ -562,7 +637,7 @@
1.318 while( graph->valid(e.out) && !(free(e.out)>0) ) { graph->next(e.out); }
1.319 if (!graph->valid(e.out)) {
1.320 e.out_or_in=0;
1.321 - graph->/*getF*/first(e.in, v);
1.322 + graph->first(e.in, v);
1.323 while( graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
1.324 }
1.325 } else {
1.326 @@ -578,17 +653,17 @@
1.327 while (graph->valid(e.out) && !(free(e.out)>0) ) { graph->next(e.out); }
1.328 while (graph->valid(e.v) && !graph->valid(e.out)) {
1.329 graph->next(e.v);
1.330 - if (graph->valid(e.v)) graph->/*getF*/first(e.out, e.v);
1.331 + if (graph->valid(e.v)) graph->first(e.out, e.v);
1.332 while (graph->valid(e.out) && !(free(e.out)>0) ) { graph->next(e.out); }
1.333 }
1.334 if (!graph->valid(e.out)) {
1.335 e.out_or_in=0;
1.336 - graph->/*getF*/first(e.v);
1.337 - if (graph->valid(e.v)) graph->/*getF*/first(e.in, e.v); else e.in=OldInEdgeIt(INVALID);
1.338 + graph->first(e.v);
1.339 + if (graph->valid(e.v)) graph->first(e.in, e.v); else e.in=OldInEdgeIt(INVALID);
1.340 while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
1.341 while (graph->valid(e.v) && !graph->valid(e.in)) {
1.342 graph->next(e.v);
1.343 - if (graph->valid(e.v)) graph->/*getF*/first(e.in, e.v);
1.344 + if (graph->valid(e.v)) graph->first(e.in, e.v);
1.345 while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
1.346 }
1.347 }
1.348 @@ -597,7 +672,7 @@
1.349 while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
1.350 while (graph->valid(e.v) && !graph->valid(e.in)) {
1.351 graph->next(e.v);
1.352 - if (graph->valid(e.v)) graph->/*getF*/first(e.in, e.v);
1.353 + if (graph->valid(e.v)) graph->first(e.in, e.v);
1.354 while (graph->valid(e.in) && !(free(e.in)>0) ) { graph->next(e.in); }
1.355 }
1.356 }
1.357 @@ -608,14 +683,14 @@
1.358 template< typename It >
1.359 It first() const {
1.360 It e;
1.361 - /*getF*/first(e);
1.362 + first(e);
1.363 return e;
1.364 }
1.365
1.366 template< typename It >
1.367 It first(Node v) const {
1.368 It e;
1.369 - /*getF*/first(e, v);
1.370 + first(e, v);
1.371 return e;
1.372 }
1.373
1.374 @@ -708,7 +783,7 @@
1.375 first_out_edges(*this) /*, dist(*this)*/ {
1.376 for(NodeIt n=this->template first<NodeIt>(); this->valid(n); this->next(n)) {
1.377 OutEdgeIt e;
1.378 - ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::/*getF*/first(e, n);
1.379 + ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::first(e, n);
1.380 first_out_edges.set(n, e);
1.381 }
1.382 }
1.383 @@ -739,28 +814,28 @@
1.384 //typedef typename Graph::SymEdgeIt SymEdgeIt;
1.385 //typedef typename ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::EdgeIt EdgeIt;
1.386
1.387 - NodeIt& /*getF*/first(NodeIt& n) const {
1.388 - return ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::/*getF*/first(n);
1.389 + NodeIt& first(NodeIt& n) const {
1.390 + return ResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::first(n);
1.391 }
1.392
1.393 - OutEdgeIt& /*getF*/first(OutEdgeIt& e, const Node& n) const {
1.394 + OutEdgeIt& first(OutEdgeIt& e, const Node& n) const {
1.395 e=first_out_edges.get(n);
1.396 return e;
1.397 }
1.398
1.399 - //ROSSZ template<typename I> I& /*getF*/first(I& i) const { return /*getF*/first(i); }
1.400 - //ROSSZ template<typename I, typename P> I& /*getF*/first(I& i, const P& p) const {
1.401 - // return /*getF*/first(i, p); }
1.402 + //ROSSZ template<typename I> I& first(I& i) const { return first(i); }
1.403 + //ROSSZ template<typename I, typename P> I& first(I& i, const P& p) const {
1.404 + // return first(i, p); }
1.405
1.406 //template<typename I> I getNext(const I& i) const {
1.407 // return graph->getNext(i); }
1.408 //template<typename I> I& next(I &i) const { return graph->next(i); }
1.409
1.410 template< typename It > It first() const {
1.411 - It e; /*getF*/first(e); return e; }
1.412 + It e; first(e); return e; }
1.413
1.414 template< typename It > It first(const Node& v) const {
1.415 - It e; /*getF*/first(e, v); return e; }
1.416 + It e; first(e, v); return e; }
1.417
1.418 //Node head(const Edge& e) const { return graph->head(e); }
1.419 //Node tail(const Edge& e) const { return graph->tail(e); }
1.420 @@ -838,8 +913,8 @@
1.421 ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>(_G, _flow, _capacity), dist(*this, graph->nodeNum()) {
1.422 }
1.423
1.424 - OutEdgeIt& /*getF*/first(OutEdgeIt& e, const Node& n) const {
1.425 - ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::/*getF*/first(e, n);
1.426 + OutEdgeIt& first(OutEdgeIt& e, const Node& n) const {
1.427 + ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::first(e, n);
1.428 while (valid(e) && (dist.get(tail(e))/*+1!=*/>=dist.get(head(e))))
1.429 ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::next(e);
1.430 return e;
1.431 @@ -856,8 +931,8 @@
1.432 return e;
1.433 }
1.434
1.435 - NodeIt& /*getF*/first(NodeIt& n) const {
1.436 - return ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::/*getF*/first(n);
1.437 + NodeIt& first(NodeIt& n) const {
1.438 + return ErasingResGraphWrapper<Graph, Number, FlowMap, CapacityMap>::first(n);
1.439 }
1.440
1.441 void erase(const Edge& e) {
1.442 @@ -874,19 +949,19 @@
1.443 //void setGraph(Graph& _graph) { graph = &_graph; }
1.444 //Graph& getGraph() const { return (*graph); }
1.445
1.446 - //template<typename I> I& /*getF*/first(I& i) const { return graph->/*getF*/first(i); }
1.447 - //template<typename I, typename P> I& /*getF*/first(I& i, const P& p) const {
1.448 - // return graph->/*getF*/first(i, p); }
1.449 + //template<typename I> I& first(I& i) const { return graph->first(i); }
1.450 + //template<typename I, typename P> I& first(I& i, const P& p) const {
1.451 + // return graph->first(i, p); }
1.452
1.453 //template<typename I> I getNext(const I& i) const {
1.454 // return graph->getNext(i); }
1.455 //template<typename I> I& next(I &i) const { return graph->next(i); }
1.456
1.457 template< typename It > It first() const {
1.458 - It e; /*getF*/first(e); return e; }
1.459 + It e; first(e); return e; }
1.460
1.461 template< typename It > It first(const Node& v) const {
1.462 - It e; /*getF*/first(e, v); return e; }
1.463 + It e; first(e, v); return e; }
1.464
1.465 //Node head(const Edge& e) const { return graph->head(e); }
1.466 //Node tail(const Edge& e) const { return graph->tail(e); }
1.467 @@ -970,20 +1045,20 @@
1.468 // int nodeNum() const { return graph->nodeNum(); }
1.469 // int edgeNum() const { return graph->edgeNum(); }
1.470
1.471 -// Node& /*getF*/first(Node& n) const { return graph->/*getF*/first(n); }
1.472 +// Node& first(Node& n) const { return graph->first(n); }
1.473
1.474 // // Edge and SymEdge is missing!!!!
1.475 // // Edge <-> In/OutEdgeIt conversion is missing!!!!
1.476
1.477 // //FIXME
1.478 -// OutEdgeIt& /*getF*/first(OutEdgeIt& e, const Node& n) const
1.479 +// OutEdgeIt& first(OutEdgeIt& e, const Node& n) const
1.480 // {
1.481 // e.n=n;
1.482 -// graph->/*getF*/first(e.o,n);
1.483 +// graph->first(e.o,n);
1.484 // while(graph->valid(e.o) && fmap.get(e.o)>=himap.get(e.o))
1.485 // graph->goNext(e.o);
1.486 // if(!graph->valid(e.o)) {
1.487 -// graph->/*getF*/first(e.i,n);
1.488 +// graph->first(e.i,n);
1.489 // while(graph->valid(e.i) && fmap.get(e.i)<=lomap.get(e.i))
1.490 // graph->goNext(e.i);
1.491 // }
1.492 @@ -996,7 +1071,7 @@
1.493 // while(graph->valid(e.o) && fmap.get(e.o)>=himap.get(e.o))
1.494 // graph->goNext(e.o);
1.495 // if(graph->valid(e.o)) return e;
1.496 -// else graph->/*getF*/first(e.i,e.n);
1.497 +// else graph->first(e.i,e.n);
1.498 // }
1.499 // else {
1.500 // while(graph->valid(e.i) && fmap.get(e.i)<=lomap.get(e.i))
1.501 @@ -1009,14 +1084,14 @@
1.502 // //bool valid(const OutEdgeIt e) { return graph->valid(e.o)||graph->valid(e.i);}
1.503
1.504 // //FIXME
1.505 -// InEdgeIt& /*getF*/first(InEdgeIt& e, const Node& n) const
1.506 +// InEdgeIt& first(InEdgeIt& e, const Node& n) const
1.507 // {
1.508 // e.n=n;
1.509 -// graph->/*getF*/first(e.i,n);
1.510 +// graph->first(e.i,n);
1.511 // while(graph->valid(e.i) && fmap.get(e.i)>=himap.get(e.i))
1.512 // graph->goNext(e.i);
1.513 // if(!graph->valid(e.i)) {
1.514 -// graph->/*getF*/first(e.o,n);
1.515 +// graph->first(e.o,n);
1.516 // while(graph->valid(e.o) && fmap.get(e.o)<=lomap.get(e.o))
1.517 // graph->goNext(e.o);
1.518 // }
1.519 @@ -1029,7 +1104,7 @@
1.520 // while(graph->valid(e.i) && fmap.get(e.i)>=himap.get(e.i))
1.521 // graph->goNext(e.i);
1.522 // if(graph->valid(e.i)) return e;
1.523 -// else graph->/*getF*/first(e.o,e.n);
1.524 +// else graph->first(e.o,e.n);
1.525 // }
1.526 // else {
1.527 // while(graph->valid(e.o) && fmap.get(e.o)<=lomap.get(e.o))
1.528 @@ -1045,10 +1120,10 @@
1.529 // //template<typename I> I next(const I i); { return graph->goNext(i); }
1.530
1.531 // template< typename It > It first() const {
1.532 -// It e; /*getF*/first(e); return e; }
1.533 +// It e; first(e); return e; }
1.534
1.535 // template< typename It > It first(Node v) const {
1.536 -// It e; /*getF*/first(e, v); return e; }
1.537 +// It e; first(e, v); return e; }
1.538
1.539 // Node head(const Edge& e) const { return graph->head(e); }
1.540 // Node tail(const Edge& e) const { return graph->tail(e); }