1.1 --- a/src/work/alpar/list_graph.h Tue May 04 16:52:15 2004 +0000
1.2 +++ b/src/work/alpar/list_graph.h Wed May 05 07:53:51 2004 +0000
1.3 @@ -472,7 +472,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 @@ -561,7 +561,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 @@ -715,7 +715,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
1.30 @@ -1081,7 +1081,7 @@
1.31 template<typename TT>
1.32 const NodeMap<T>& operator=(const NodeMap<TT> &m)
1.33 {
1.34 - copy(m.container.begin(), m.container.end(), container.begin());
1.35 + std::copy(m.container.begin(), m.container.end(), container.begin());
1.36 return *this;
1.37 }
1.38
1.39 @@ -1154,6 +1154,36 @@
1.40
1.41 public:
1.42 class Node;
1.43 + int id(Node v) const;
1.44 +
1.45 + class Node : public NodeGraphType::Node {
1.46 + friend class EdgeSet;
1.47 + // template <typename T> friend class NodeMap;
1.48 +
1.49 + friend class Edge;
1.50 + friend class OutEdgeIt;
1.51 + friend class InEdgeIt;
1.52 + friend class SymEdge;
1.53 +
1.54 + public:
1.55 + friend int EdgeSet::id(Node v) const;
1.56 + // Node(int nn) {n=nn;}
1.57 + public:
1.58 + Node() : NodeGraphType::Node() {}
1.59 + Node (Invalid i) : NodeGraphType::Node(i) {}
1.60 + Node(const typename NodeGraphType::Node &n) : NodeGraphType::Node(n) {}
1.61 + };
1.62 +
1.63 + class NodeIt : public NodeGraphType::NodeIt {
1.64 + friend class EdgeSet;
1.65 + public:
1.66 + NodeIt() : NodeGraphType::NodeIt() { }
1.67 + NodeIt (Invalid i) : NodeGraphType::NodeIt(i) {}
1.68 + NodeIt(const EdgeSet& _G) : NodeGraphType::NodeIt(_G.G) { }
1.69 + NodeIt(const typename NodeGraphType::NodeIt &n)
1.70 + : NodeGraphType::NodeIt(n) {}
1.71 + operator Node() { return Node(*this);}
1.72 + };
1.73
1.74 private:
1.75 //Edges are double linked.
1.76 @@ -1305,7 +1335,6 @@
1.77 return it;
1.78 }
1.79
1.80 - int id(Node v) const { return G.id(v); }
1.81 int id(Edge e) const { return e.n; }
1.82
1.83 /// Adds a new node to the graph.
1.84 @@ -1387,36 +1416,6 @@
1.85 // first_node=first_free_node=first_free_edge=-1;
1.86 // }
1.87
1.88 - public:
1.89 - class Node : public NodeGraphType::Node {
1.90 - friend class EdgeSet;
1.91 - // template <typename T> friend class NodeMap;
1.92 -
1.93 - friend class Edge;
1.94 - friend class OutEdgeIt;
1.95 - friend class InEdgeIt;
1.96 - friend class SymEdge;
1.97 -
1.98 - protected:
1.99 - friend int EdgeSet::id(Node v) const;
1.100 - // Node(int nn) {n=nn;}
1.101 - public:
1.102 - Node() : NodeGraphType::Node() {}
1.103 - Node (Invalid i) : NodeGraphType::Node(i) {}
1.104 - Node(const typename NodeGraphType::Node &n) : NodeGraphType::Node(n) {}
1.105 - };
1.106 -
1.107 - class NodeIt : public NodeGraphType::NodeIt {
1.108 - friend class EdgeSet;
1.109 - public:
1.110 - NodeIt() : NodeGraphType::NodeIt() { }
1.111 - NodeIt (Invalid i) : NodeGraphType::NodeIt(i) {}
1.112 - NodeIt(const EdgeSet& _G) : NodeGraphType::NodeIt(_G.G) { }
1.113 - NodeIt(const typename NodeGraphType::NodeIt &n)
1.114 - : NodeGraphType::NodeIt(n) {}
1.115 - operator Node() { return Node(*this);}
1.116 - };
1.117 -
1.118 class Edge {
1.119 friend class EdgeSet;
1.120 template <typename T> friend class EdgeMap;
1.121 @@ -1578,7 +1577,7 @@
1.122 template<typename TT>
1.123 const EdgeMap<T>& operator=(const EdgeMap<TT> &m)
1.124 {
1.125 - copy(m.container.begin(), m.container.end(), container.begin());
1.126 + std::copy(m.container.begin(), m.container.end(), container.begin());
1.127 return *this;
1.128 }
1.129
1.130 @@ -1588,6 +1587,9 @@
1.131
1.132 };
1.133
1.134 + template< typename GG>
1.135 + int EdgeSet<GG>::id(Node v) const { return G.id(v); }
1.136 +
1.137 /// @}
1.138
1.139 } //namespace hugo