src/work/alpar/smart_graph.h
changeset 174 44700ed9ffaa
parent 164 970b265696b0
child 177 924f9555711d
     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;}