src/work/alpar/list_graph.h
changeset 503 769f31e9f7b0
parent 491 4804c967543d
child 508 95f8f7171bae
     1.1 --- a/src/work/alpar/list_graph.h	Fri Apr 30 19:02:40 2004 +0000
     1.2 +++ b/src/work/alpar/list_graph.h	Mon May 03 07:27:29 2004 +0000
     1.3 @@ -316,7 +316,7 @@
     1.4        Node(int nn) {n=nn;}
     1.5      public:
     1.6        Node() {}
     1.7 -      Node (Invalid i) { n=-1; }
     1.8 +      Node (Invalid) { n=-1; }
     1.9        bool operator==(const Node i) const {return n==i.n;}
    1.10        bool operator!=(const Node i) const {return n!=i.n;}
    1.11        bool operator<(const Node i) const {return n<i.n;}
    1.12 @@ -503,7 +503,7 @@
    1.13        EdgeMap(const EdgeMap<T> &m) :
    1.14   	DynMapBase<Edge>(*m.G), container(m.container)
    1.15        {
    1.16 - 	G->dyn_node_maps.push_back(this);
    1.17 + 	G->dyn_edge_maps.push_back(this);
    1.18        }
    1.19  
    1.20        template<typename TT> friend class EdgeMap;
    1.21 @@ -513,7 +513,7 @@
    1.22        template<typename TT> EdgeMap(const EdgeMap<TT> &m) :
    1.23  	DynMapBase<Edge>(*m.G)
    1.24        {
    1.25 -	G->dyn_node_maps.push_back(this);
    1.26 +	G->dyn_edge_maps.push_back(this);
    1.27  	typename std::vector<TT>::const_iterator i;
    1.28  	for(typename std::vector<TT>::const_iterator i=m.container.begin();
    1.29  	    i!=m.container.end();
    1.30 @@ -1294,11 +1294,11 @@
    1.31  	it.n=edges[it.n].next_in;
    1.32        }
    1.33        else {
    1.34 -	typename NodeGraphType::Node n;
    1.35 -	for(n=G.next(edges[it.n].head);
    1.36 -	    G.valid(n) && nodes[n].first_in == -1;
    1.37 -	    G.next(n)) ;
    1.38 -	it.n = (G.valid(n))?-1:nodes[n].first_in;
    1.39 +	NodeIt n;
    1.40 +	for(n=next(edges[it.n].head);
    1.41 +	    valid(n) && nodes[n].first_in == -1;
    1.42 +	    next(n)) ;
    1.43 +	it.n = (valid(n))?-1:nodes[n].first_in;
    1.44        }
    1.45        return it;
    1.46      }
    1.47 @@ -1385,6 +1385,7 @@
    1.48  //       first_node=first_free_node=first_free_edge=-1;
    1.49  //     }
    1.50  
    1.51 +  public:
    1.52      class Node : public NodeGraphType::Node {
    1.53        friend class EdgeSet;
    1.54        //      template <typename T> friend class NodeMap;
    1.55 @@ -1444,10 +1445,11 @@
    1.56        friend class EdgeSet;
    1.57      public:
    1.58        EdgeIt(const EdgeSet& G) : Edge() {
    1.59 -      	typename NodeGraphType::Node m;
    1.60 +	//      	typename NodeGraphType::Node m;
    1.61 +        NodeIt m;
    1.62  	for(G.first(m);
    1.63 -	    G.valid(m) && nodes[m].first_in == -1;  G.next[m]);
    1.64 -	n = G.valid(m)?-1:nodes[m].first_in;
    1.65 +	    G.valid(m) && G.nodes[m].first_in == -1;  G.next(m));
    1.66 +	n = G.valid(m)?-1:G.nodes[m].first_in;
    1.67        }
    1.68        EdgeIt (Invalid i) : Edge(i) { }
    1.69        EdgeIt() : Edge() { }
    1.70 @@ -1514,7 +1516,7 @@
    1.71        EdgeMap(const EdgeMap<T> &m) :
    1.72   	DynMapBase<Edge>(*m.G), container(m.container)
    1.73        {
    1.74 - 	G->dyn_node_maps.push_back(this);
    1.75 + 	G->dyn_edge_maps.push_back(this);
    1.76        }
    1.77  
    1.78        template<typename TT> friend class EdgeMap;
    1.79 @@ -1524,7 +1526,7 @@
    1.80        template<typename TT> EdgeMap(const EdgeMap<TT> &m) :
    1.81  	DynMapBase<Edge>(*m.G)
    1.82        {
    1.83 -	G->dyn_node_maps.push_back(this);
    1.84 +	G->dyn_edge_maps.push_back(this);
    1.85  	typename std::vector<TT>::const_iterator i;
    1.86  	for(typename std::vector<TT>::const_iterator i=m.container.begin();
    1.87  	    i!=m.container.end();