1.1 --- a/src/work/alpar/smart_graph.h Thu Mar 11 23:31:13 2004 +0000
1.2 +++ b/src/work/alpar/smart_graph.h Fri Mar 12 09:19:54 2004 +0000
1.3 @@ -96,12 +96,14 @@
1.4 Node tail(Edge e) const { return edges[e.n].tail; }
1.5 Node head(Edge e) const { return edges[e.n].head; }
1.6
1.7 -// Node aNode(const OutEdgeIt& e) const { return tail(e); }
1.8 -// Node aNode(const InEdgeIt& e) const { return head(e); }
1.9 + // Marci
1.10 + Node aNode(OutEdgeIt e) const { return edges[e.n].tail; }
1.11 + Node aNode(InEdgeIt e) const { return edges[e.n].head; }
1.12 // //Node aNode(const SymEdge& e) const { return e.aNode(); }
1.13
1.14 -// Node bNode(const OutEdgeIt& e) const { return head(e); }
1.15 -// Node bNode(const InEdgeIt& e) const { return tail(e); }
1.16 + // Marci
1.17 + Node bNode(OutEdgeIt e) const { return edges[e.n].head; }
1.18 + Node bNode(InEdgeIt e) const { return edges[e.n].tail; }
1.19 // //Node bNode(const SymEdge& e) const { return e.bNode(); }
1.20
1.21 NodeIt& first(NodeIt& v) const {
1.22 @@ -116,14 +118,16 @@
1.23 template< typename It >
1.24 It first() const {
1.25 It e;
1.26 - getFirst(e);
1.27 + //Marci
1.28 + /*getF*/first(e);
1.29 return e;
1.30 }
1.31
1.32 template< typename It >
1.33 It first(Node v) const {
1.34 It e;
1.35 - getFirst(e, v);
1.36 + //Marci
1.37 + /*getF*/first(e, v);
1.38 return e;
1.39 }
1.40
1.41 @@ -138,7 +142,12 @@
1.42 { It tmp(it); return next(tmp); }
1.43 //{ It tmp; tmp.n=it.n+1; return tmp; }
1.44
1.45 - Node& next(Node& it) const { it.n=(it.n+2)%nodes.size()-1; return it; }
1.46 + //FIXME correction Marci: I changed to NodeIt from Node
1.47 + //NodeIt& next(NodeIt& it) const { it.n=(it.n+2)%nodes.size()-1; return it; }
1.48 + NodeIt& next(NodeIt& it) const {
1.49 + it.n=(it.n+2)%(nodes.size()+1)-1;
1.50 + return it;
1.51 + }
1.52 OutEdgeIt& next(OutEdgeIt& it) const
1.53 { it.n=edges[it.n].next_out; return it; }
1.54 InEdgeIt& next(InEdgeIt& it) const
1.55 @@ -216,7 +225,8 @@
1.56 Edge(int nn) {n=nn;}
1.57 public:
1.58 Edge() { }
1.59 - Edge (Invalid i) { n=-1; }
1.60 + // Marci: kiszedtem az Invalid i-bol az i-t
1.61 + Edge (Invalid) { n=-1; }
1.62 bool operator==(const Edge i) const {return n==i.n;}
1.63 bool operator!=(const Edge i) const {return n!=i.n;}
1.64 bool operator<(const Edge i) const {return n<i.n;}