Compiles with are icc, as well.
authoralpar
Wed, 05 May 2004 07:53:51 +0000
changeset 53166f1c466889f
parent 530 d9c06ac0b3a3
child 532 2544205de129
Compiles with are icc, as well.
src/include/smart_graph.h
src/work/alpar/list_graph.h
     1.1 --- a/src/include/smart_graph.h	Tue May 04 16:52:15 2004 +0000
     1.2 +++ b/src/include/smart_graph.h	Wed May 05 07:53:51 2004 +0000
     1.3 @@ -359,7 +359,7 @@
     1.4        template<typename TT>
     1.5        const NodeMap<T>& operator=(const NodeMap<TT> &m)
     1.6        {
     1.7 -	copy(m.container.begin(), m.container.end(), container.begin());
     1.8 +	std::copy(m.container.begin(), m.container.end(), container.begin());
     1.9  	return *this;
    1.10        }
    1.11        
    1.12 @@ -448,7 +448,7 @@
    1.13        template<typename TT>
    1.14        const EdgeMap<T>& operator=(const EdgeMap<TT> &m)
    1.15        {
    1.16 -	copy(m.container.begin(), m.container.end(), container.begin());
    1.17 +	std::copy(m.container.begin(), m.container.end(), container.begin());
    1.18  	return *this;
    1.19        }
    1.20        
    1.21 @@ -593,7 +593,7 @@
    1.22        template<typename TT>
    1.23        const SymEdgeMap<T>& operator=(const SymEdgeMap<TT> &m)
    1.24        {
    1.25 -	copy(m.container.begin(), m.container.end(), container.begin());
    1.26 +	std::copy(m.container.begin(), m.container.end(), container.begin());
    1.27  	return *this;
    1.28        }
    1.29        
     2.1 --- a/src/work/alpar/list_graph.h	Tue May 04 16:52:15 2004 +0000
     2.2 +++ b/src/work/alpar/list_graph.h	Wed May 05 07:53:51 2004 +0000
     2.3 @@ -472,7 +472,7 @@
     2.4        template<typename TT>
     2.5        const NodeMap<T>& operator=(const NodeMap<TT> &m)
     2.6        {
     2.7 -	copy(m.container.begin(), m.container.end(), container.begin());
     2.8 +	std::copy(m.container.begin(), m.container.end(), container.begin());
     2.9  	return *this;
    2.10        }
    2.11        
    2.12 @@ -561,7 +561,7 @@
    2.13        template<typename TT>
    2.14        const EdgeMap<T>& operator=(const EdgeMap<TT> &m)
    2.15        {
    2.16 -	copy(m.container.begin(), m.container.end(), container.begin());
    2.17 +	std::copy(m.container.begin(), m.container.end(), container.begin());
    2.18  	return *this;
    2.19        }
    2.20        
    2.21 @@ -715,7 +715,7 @@
    2.22        template<typename TT>
    2.23        const SymEdgeMap<T>& operator=(const SymEdgeMap<TT> &m)
    2.24        {
    2.25 -	copy(m.container.begin(), m.container.end(), container.begin());
    2.26 +	std::copy(m.container.begin(), m.container.end(), container.begin());
    2.27  	return *this;
    2.28        }
    2.29        
    2.30 @@ -1081,7 +1081,7 @@
    2.31        template<typename TT>
    2.32        const NodeMap<T>& operator=(const NodeMap<TT> &m)
    2.33        {
    2.34 -	copy(m.container.begin(), m.container.end(), container.begin());
    2.35 +	std::copy(m.container.begin(), m.container.end(), container.begin());
    2.36  	return *this;
    2.37        }
    2.38        
    2.39 @@ -1154,6 +1154,36 @@
    2.40  
    2.41    public:
    2.42      class Node;
    2.43 +    int id(Node v) const; 
    2.44 +
    2.45 +    class Node : public NodeGraphType::Node {
    2.46 +      friend class EdgeSet;
    2.47 +      //      template <typename T> friend class NodeMap;
    2.48 +      
    2.49 +      friend class Edge;
    2.50 +      friend class OutEdgeIt;
    2.51 +      friend class InEdgeIt;
    2.52 +      friend class SymEdge;
    2.53 +
    2.54 +    public:
    2.55 +      friend int EdgeSet::id(Node v) const; 
    2.56 +      //      Node(int nn) {n=nn;}
    2.57 +    public:
    2.58 +      Node() : NodeGraphType::Node() {}
    2.59 +      Node (Invalid i) : NodeGraphType::Node(i) {}
    2.60 +      Node(const typename NodeGraphType::Node &n) : NodeGraphType::Node(n) {}
    2.61 +    };
    2.62 +    
    2.63 +    class NodeIt : public NodeGraphType::NodeIt {
    2.64 +      friend class EdgeSet;
    2.65 +    public:
    2.66 +      NodeIt() : NodeGraphType::NodeIt() { }
    2.67 +      NodeIt (Invalid i) : NodeGraphType::NodeIt(i) {}
    2.68 +      NodeIt(const EdgeSet& _G) : NodeGraphType::NodeIt(_G.G) { }
    2.69 +      NodeIt(const typename NodeGraphType::NodeIt &n)
    2.70 +	: NodeGraphType::NodeIt(n) {}
    2.71 +      operator Node() { return Node(*this);}
    2.72 +    };
    2.73  
    2.74    private:
    2.75      //Edges are double linked.
    2.76 @@ -1305,7 +1335,6 @@
    2.77        return it;
    2.78      }
    2.79  
    2.80 -    int id(Node v) const { return G.id(v); }
    2.81      int id(Edge e) const { return e.n; }
    2.82  
    2.83      /// Adds a new node to the graph.
    2.84 @@ -1387,36 +1416,6 @@
    2.85  //       first_node=first_free_node=first_free_edge=-1;
    2.86  //     }
    2.87  
    2.88 -  public:
    2.89 -    class Node : public NodeGraphType::Node {
    2.90 -      friend class EdgeSet;
    2.91 -      //      template <typename T> friend class NodeMap;
    2.92 -      
    2.93 -      friend class Edge;
    2.94 -      friend class OutEdgeIt;
    2.95 -      friend class InEdgeIt;
    2.96 -      friend class SymEdge;
    2.97 -
    2.98 -    protected:
    2.99 -      friend int EdgeSet::id(Node v) const; 
   2.100 -      //      Node(int nn) {n=nn;}
   2.101 -    public:
   2.102 -      Node() : NodeGraphType::Node() {}
   2.103 -      Node (Invalid i) : NodeGraphType::Node(i) {}
   2.104 -      Node(const typename NodeGraphType::Node &n) : NodeGraphType::Node(n) {}
   2.105 -    };
   2.106 -    
   2.107 -    class NodeIt : public NodeGraphType::NodeIt {
   2.108 -      friend class EdgeSet;
   2.109 -    public:
   2.110 -      NodeIt() : NodeGraphType::NodeIt() { }
   2.111 -      NodeIt (Invalid i) : NodeGraphType::NodeIt(i) {}
   2.112 -      NodeIt(const EdgeSet& _G) : NodeGraphType::NodeIt(_G.G) { }
   2.113 -      NodeIt(const typename NodeGraphType::NodeIt &n)
   2.114 -	: NodeGraphType::NodeIt(n) {}
   2.115 -      operator Node() { return Node(*this);}
   2.116 -    };
   2.117 -
   2.118      class Edge {
   2.119        friend class EdgeSet;
   2.120        template <typename T> friend class EdgeMap;
   2.121 @@ -1578,7 +1577,7 @@
   2.122        template<typename TT>
   2.123        const EdgeMap<T>& operator=(const EdgeMap<TT> &m)
   2.124        {
   2.125 -	copy(m.container.begin(), m.container.end(), container.begin());
   2.126 +	std::copy(m.container.begin(), m.container.end(), container.begin());
   2.127  	return *this;
   2.128        }
   2.129        
   2.130 @@ -1588,6 +1587,9 @@
   2.131  
   2.132    };
   2.133  
   2.134 +  template< typename GG>
   2.135 +  int EdgeSet<GG>::id(Node v) const { return G.id(v); }
   2.136 +
   2.137  /// @}  
   2.138  
   2.139  } //namespace hugo