Compiles with are icc, as well.
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