diff -r de9849252e78 -r 44700ed9ffaa src/work/alpar/smart_graph.h --- a/src/work/alpar/smart_graph.h Thu Mar 11 23:31:13 2004 +0000 +++ b/src/work/alpar/smart_graph.h Fri Mar 12 09:19:54 2004 +0000 @@ -96,12 +96,14 @@ Node tail(Edge e) const { return edges[e.n].tail; } Node head(Edge e) const { return edges[e.n].head; } -// Node aNode(const OutEdgeIt& e) const { return tail(e); } -// Node aNode(const InEdgeIt& e) const { return head(e); } + // Marci + Node aNode(OutEdgeIt e) const { return edges[e.n].tail; } + Node aNode(InEdgeIt e) const { return edges[e.n].head; } // //Node aNode(const SymEdge& e) const { return e.aNode(); } -// Node bNode(const OutEdgeIt& e) const { return head(e); } -// Node bNode(const InEdgeIt& e) const { return tail(e); } + // Marci + Node bNode(OutEdgeIt e) const { return edges[e.n].head; } + Node bNode(InEdgeIt e) const { return edges[e.n].tail; } // //Node bNode(const SymEdge& e) const { return e.bNode(); } NodeIt& first(NodeIt& v) const { @@ -116,14 +118,16 @@ template< typename It > It first() const { It e; - getFirst(e); + //Marci + /*getF*/first(e); return e; } template< typename It > It first(Node v) const { It e; - getFirst(e, v); + //Marci + /*getF*/first(e, v); return e; } @@ -138,7 +142,12 @@ { It tmp(it); return next(tmp); } //{ It tmp; tmp.n=it.n+1; return tmp; } - Node& next(Node& it) const { it.n=(it.n+2)%nodes.size()-1; return it; } + //FIXME correction Marci: I changed to NodeIt from Node + //NodeIt& next(NodeIt& it) const { it.n=(it.n+2)%nodes.size()-1; return it; } + NodeIt& next(NodeIt& it) const { + it.n=(it.n+2)%(nodes.size()+1)-1; + return it; + } OutEdgeIt& next(OutEdgeIt& it) const { it.n=edges[it.n].next_out; return it; } InEdgeIt& next(InEdgeIt& it) const @@ -216,7 +225,8 @@ Edge(int nn) {n=nn;} public: Edge() { } - Edge (Invalid i) { n=-1; } + // Marci: kiszedtem az Invalid i-bol az i-t + Edge (Invalid) { n=-1; } bool operator==(const Edge i) const {return n==i.n;} bool operator!=(const Edge i) const {return n!=i.n;} bool operator<(const Edge i) const {return n