1.1 --- a/lemon/concepts/bpgraph.h Thu Feb 25 09:46:12 2021 +0100
1.2 +++ b/lemon/concepts/bpgraph.h Tue Jul 28 21:23:36 2020 +0200
1.3 @@ -95,6 +95,11 @@
1.4 /// Copy constructor.
1.5 ///
1.6 Node(const Node&) { }
1.7 + /// Assignment operator
1.8 +
1.9 + /// Assignment operator.
1.10 + ///
1.11 + const Node &operator=(const Node&) { return *this; }
1.12
1.13 /// %Invalid constructor \& conversion.
1.14
1.15 @@ -143,6 +148,11 @@
1.16 /// Copy constructor.
1.17 ///
1.18 RedNode(const RedNode&) : Node() { }
1.19 + /// Assignment operator
1.20 +
1.21 + /// Assignment operator.
1.22 + ///
1.23 + const RedNode &operator=(const RedNode&) { return *this; }
1.24
1.25 /// %Invalid constructor \& conversion.
1.26
1.27 @@ -170,6 +180,12 @@
1.28 /// Copy constructor.
1.29 ///
1.30 BlueNode(const BlueNode&) : Node() { }
1.31 + /// Assignment operator
1.32 +
1.33 + /// Assignment operator.
1.34 + ///
1.35 + const BlueNode &operator=(const BlueNode&) { return *this; }
1.36 +
1.37
1.38 /// %Invalid constructor \& conversion.
1.39
1.40 @@ -200,6 +216,11 @@
1.41 /// Copy constructor.
1.42 ///
1.43 RedNodeIt(const RedNodeIt& n) : RedNode(n) { }
1.44 + /// Assignment operator
1.45 +
1.46 + /// Assignment operator.
1.47 + ///
1.48 + const RedNodeIt &operator=(const RedNodeIt&) { return *this; }
1.49 /// %Invalid constructor \& conversion.
1.50
1.51 /// Initializes the iterator to be invalid.
1.52 @@ -259,6 +280,11 @@
1.53 /// Copy constructor.
1.54 ///
1.55 BlueNodeIt(const BlueNodeIt& n) : BlueNode(n) { }
1.56 + /// Assignment operator
1.57 +
1.58 + /// Assignment operator.
1.59 + ///
1.60 + const BlueNodeIt &operator=(const BlueNodeIt&) { return *this; }
1.61 /// %Invalid constructor \& conversion.
1.62
1.63 /// Initializes the iterator to be invalid.
1.64 @@ -318,6 +344,11 @@
1.65 /// Copy constructor.
1.66 ///
1.67 NodeIt(const NodeIt& n) : Node(n) { }
1.68 + /// Assignment operator
1.69 +
1.70 + /// Assignment operator.
1.71 + ///
1.72 + const NodeIt &operator=(const NodeIt&) { return *this; }
1.73 /// %Invalid constructor \& conversion.
1.74
1.75 /// Initializes the iterator to be invalid.
1.76 @@ -374,6 +405,11 @@
1.77 /// Copy constructor.
1.78 ///
1.79 Edge(const Edge&) { }
1.80 + /// Assignment operator
1.81 +
1.82 + /// Assignment operator.
1.83 + ///
1.84 + const Edge &operator=(const Edge&) { return *this; }
1.85 /// %Invalid constructor \& conversion.
1.86
1.87 /// Initializes the object to be invalid.
1.88 @@ -422,6 +458,11 @@
1.89 /// Copy constructor.
1.90 ///
1.91 EdgeIt(const EdgeIt& e) : Edge(e) { }
1.92 + /// Assignment operator
1.93 +
1.94 + /// Assignment operator.
1.95 + ///
1.96 + const EdgeIt &operator=(const EdgeIt&) { return *this; }
1.97 /// %Invalid constructor \& conversion.
1.98
1.99 /// Initializes the iterator to be invalid.
1.100 @@ -487,6 +528,11 @@
1.101 /// Copy constructor.
1.102 ///
1.103 IncEdgeIt(const IncEdgeIt& e) : Edge(e) { }
1.104 + /// Assignment operator
1.105 +
1.106 + /// Assignment operator.
1.107 + ///
1.108 + const IncEdgeIt &operator=(const IncEdgeIt&) { return *this; }
1.109 /// %Invalid constructor \& conversion.
1.110
1.111 /// Initializes the iterator to be invalid.
1.112 @@ -545,6 +591,11 @@
1.113 /// Copy constructor.
1.114 ///
1.115 Arc(const Arc&) { }
1.116 + /// Assignment operator
1.117 +
1.118 + /// Assignment operator.
1.119 + ///
1.120 + const Arc &operator=(const Arc&) { return *this; }
1.121 /// %Invalid constructor \& conversion.
1.122
1.123 /// Initializes the object to be invalid.
1.124 @@ -599,6 +650,11 @@
1.125 /// Copy constructor.
1.126 ///
1.127 ArcIt(const ArcIt& e) : Arc(e) { }
1.128 + /// Assignment operator
1.129 +
1.130 + /// Assignment operator.
1.131 + ///
1.132 + const ArcIt &operator=(const ArcIt&) { return *this; }
1.133 /// %Invalid constructor \& conversion.
1.134
1.135 /// Initializes the iterator to be invalid.
1.136 @@ -664,6 +720,11 @@
1.137 /// Copy constructor.
1.138 ///
1.139 OutArcIt(const OutArcIt& e) : Arc(e) { }
1.140 + /// Assignment operator
1.141 +
1.142 + /// Assignment operator.
1.143 + ///
1.144 + const OutArcIt &operator=(const OutArcIt&) { return *this; }
1.145 /// %Invalid constructor \& conversion.
1.146
1.147 /// Initializes the iterator to be invalid.
1.148 @@ -730,6 +791,11 @@
1.149 /// Copy constructor.
1.150 ///
1.151 InArcIt(const InArcIt& e) : Arc(e) { }
1.152 + /// Assignment operator
1.153 +
1.154 + /// Assignment operator.
1.155 + ///
1.156 + const InArcIt &operator=(const InArcIt&) { return *this; }
1.157 /// %Invalid constructor \& conversion.
1.158
1.159 /// Initializes the iterator to be invalid.
2.1 --- a/lemon/concepts/digraph.h Thu Feb 25 09:46:12 2021 +0100
2.2 +++ b/lemon/concepts/digraph.h Tue Jul 28 21:23:36 2020 +0200
2.3 @@ -77,6 +77,12 @@
2.4 ///
2.5 Node(const Node&) { }
2.6
2.7 + /// Assignment operator
2.8 +
2.9 + /// Assignment operator.
2.10 + ///
2.11 + const Node &operator=(const Node&) { return *this; }
2.12 +
2.13 /// %Invalid constructor \& conversion.
2.14
2.15 /// Initializes the object to be invalid.
2.16 @@ -126,6 +132,12 @@
2.17 /// Copy constructor.
2.18 ///
2.19 NodeIt(const NodeIt& n) : Node(n) { }
2.20 + /// Assignment operator
2.21 +
2.22 + /// Assignment operator.
2.23 + ///
2.24 + const NodeIt &operator=(const NodeIt&) { return *this; }
2.25 +
2.26 /// %Invalid constructor \& conversion.
2.27
2.28 /// Initializes the iterator to be invalid.
2.29 @@ -185,6 +197,12 @@
2.30 /// Copy constructor.
2.31 ///
2.32 Arc(const Arc&) { }
2.33 + /// Assignment operator
2.34 +
2.35 + /// Assignment operator.
2.36 + ///
2.37 + const Arc &operator=(const Arc&) { return *this; }
2.38 +
2.39 /// %Invalid constructor \& conversion.
2.40
2.41 /// Initializes the object to be invalid.
2.42 @@ -235,6 +253,11 @@
2.43 /// Copy constructor.
2.44 ///
2.45 OutArcIt(const OutArcIt& e) : Arc(e) { }
2.46 + /// Assignment operator
2.47 +
2.48 + /// Assignment operator.
2.49 + ///
2.50 + const OutArcIt &operator=(const OutArcIt&) { return *this; }
2.51 /// %Invalid constructor \& conversion.
2.52
2.53 /// Initializes the iterator to be invalid.
2.54 @@ -301,6 +324,12 @@
2.55 /// Copy constructor.
2.56 ///
2.57 InArcIt(const InArcIt& e) : Arc(e) { }
2.58 + /// Assignment operator
2.59 +
2.60 + /// Assignment operator.
2.61 + ///
2.62 + const InArcIt &operator=(const InArcIt&) { return *this; }
2.63 +
2.64 /// %Invalid constructor \& conversion.
2.65
2.66 /// Initializes the iterator to be invalid.
2.67 @@ -365,6 +394,12 @@
2.68 /// Copy constructor.
2.69 ///
2.70 ArcIt(const ArcIt& e) : Arc(e) { }
2.71 + /// Assignment operator
2.72 +
2.73 + /// Assignment operator.
2.74 + ///
2.75 + const ArcIt &operator=(const ArcIt&) { return *this; }
2.76 +
2.77 /// %Invalid constructor \& conversion.
2.78
2.79 /// Initializes the iterator to be invalid.
2.80 @@ -521,7 +556,12 @@
2.81 ///Copy constructor
2.82 NodeMap(const NodeMap& nm) :
2.83 ReferenceMap<Node, T, T&, const T&>(nm) { }
2.84 + public:
2.85 ///Assignment operator
2.86 + NodeMap& operator=(const NodeMap&) {
2.87 + return *this;
2.88 + }
2.89 + ///Template Assignment operator
2.90 template <typename CMap>
2.91 NodeMap& operator=(const CMap&) {
2.92 checkConcept<ReadMap<Node, T>, CMap>();
2.93 @@ -547,6 +587,10 @@
2.94 ArcMap(const ArcMap& em) :
2.95 ReferenceMap<Arc, T, T&, const T&>(em) { }
2.96 ///Assignment operator
2.97 + ArcMap& operator=(const ArcMap&) {
2.98 + return *this;
2.99 + }
2.100 + ///Template Assignment operator
2.101 template <typename CMap>
2.102 ArcMap& operator=(const CMap&) {
2.103 checkConcept<ReadMap<Arc, T>, CMap>();
3.1 --- a/lemon/concepts/graph.h Thu Feb 25 09:46:12 2021 +0100
3.2 +++ b/lemon/concepts/graph.h Tue Jul 28 21:23:36 2020 +0200
3.3 @@ -108,6 +108,11 @@
3.4 /// Copy constructor.
3.5 ///
3.6 Node(const Node&) { }
3.7 + /// Assignment operator
3.8 +
3.9 + /// Assignment operator.
3.10 + ///
3.11 + const Node &operator=(const Node&) { return *this; }
3.12
3.13 /// %Invalid constructor \& conversion.
3.14
3.15 @@ -159,6 +164,12 @@
3.16 /// Copy constructor.
3.17 ///
3.18 NodeIt(const NodeIt& n) : Node(n) { }
3.19 + /// Assignment operator
3.20 +
3.21 + /// Assignment operator.
3.22 + ///
3.23 + const NodeIt &operator=(const NodeIt&) { return *this; }
3.24 +
3.25 /// %Invalid constructor \& conversion.
3.26
3.27 /// Initializes the iterator to be invalid.
3.28 @@ -218,6 +229,12 @@
3.29 /// Copy constructor.
3.30 ///
3.31 Edge(const Edge&) { }
3.32 + /// Assignment operator
3.33 +
3.34 + /// Assignment operator.
3.35 + ///
3.36 + const Edge &operator=(const Edge&) { return *this; }
3.37 +
3.38 /// %Invalid constructor \& conversion.
3.39
3.40 /// Initializes the object to be invalid.
3.41 @@ -266,6 +283,12 @@
3.42 /// Copy constructor.
3.43 ///
3.44 EdgeIt(const EdgeIt& e) : Edge(e) { }
3.45 + /// Assignment operator
3.46 +
3.47 + /// Assignment operator.
3.48 + ///
3.49 + const EdgeIt &operator=(const EdgeIt&) { return *this; }
3.50 +
3.51 /// %Invalid constructor \& conversion.
3.52
3.53 /// Initializes the iterator to be invalid.
3.54 @@ -335,6 +358,12 @@
3.55 /// Copy constructor.
3.56 ///
3.57 IncEdgeIt(const IncEdgeIt& e) : Edge(e) { }
3.58 + /// Assignment operator
3.59 +
3.60 + /// Assignment operator.
3.61 + ///
3.62 + const IncEdgeIt &operator=(const IncEdgeIt&) { return *this; }
3.63 +
3.64 /// %Invalid constructor \& conversion.
3.65
3.66 /// Initializes the iterator to be invalid.
3.67 @@ -396,6 +425,12 @@
3.68 /// Copy constructor.
3.69 ///
3.70 Arc(const Arc&) { }
3.71 + /// Assignment operator
3.72 +
3.73 + /// Assignment operator.
3.74 + ///
3.75 + const Arc &operator=(const Arc&) { return *this; }
3.76 +
3.77 /// %Invalid constructor \& conversion.
3.78
3.79 /// Initializes the object to be invalid.
3.80 @@ -450,6 +485,12 @@
3.81 /// Copy constructor.
3.82 ///
3.83 ArcIt(const ArcIt& e) : Arc(e) { }
3.84 + /// Assignment operator
3.85 +
3.86 + /// Assignment operator.
3.87 + ///
3.88 + const ArcIt &operator=(const ArcIt&) { return *this; }
3.89 +
3.90 /// %Invalid constructor \& conversion.
3.91
3.92 /// Initializes the iterator to be invalid.
3.93 @@ -518,6 +559,12 @@
3.94 /// Copy constructor.
3.95 ///
3.96 OutArcIt(const OutArcIt& e) : Arc(e) { }
3.97 + /// Assignment operator
3.98 +
3.99 + /// Assignment operator.
3.100 + ///
3.101 + const OutArcIt &operator=(const OutArcIt&) { return *this; }
3.102 +
3.103 /// %Invalid constructor \& conversion.
3.104
3.105 /// Initializes the iterator to be invalid.
3.106 @@ -587,6 +634,12 @@
3.107 /// Copy constructor.
3.108 ///
3.109 InArcIt(const InArcIt& e) : Arc(e) { }
3.110 + /// Assignment operator
3.111 +
3.112 + /// Assignment operator.
3.113 + ///
3.114 + const InArcIt &operator=(const InArcIt&) { return *this; }
3.115 +
3.116 /// %Invalid constructor \& conversion.
3.117
3.118 /// Initializes the iterator to be invalid.
3.119 @@ -651,6 +704,10 @@
3.120 NodeMap(const NodeMap& nm) :
3.121 ReferenceMap<Node, T, T&, const T&>(nm) { }
3.122 ///Assignment operator
3.123 + NodeMap& operator=(const NodeMap&) {
3.124 + return *this;
3.125 + }
3.126 + ///Template Assignment operator
3.127 template <typename CMap>
3.128 NodeMap& operator=(const CMap&) {
3.129 checkConcept<ReadMap<Node, T>, CMap>();
3.130 @@ -677,6 +734,10 @@
3.131 ArcMap(const ArcMap& em) :
3.132 ReferenceMap<Arc, T, T&, const T&>(em) { }
3.133 ///Assignment operator
3.134 + ArcMap& operator=(const ArcMap&) {
3.135 + return *this;
3.136 + }
3.137 + ///Template Assignment operator
3.138 template <typename CMap>
3.139 ArcMap& operator=(const CMap&) {
3.140 checkConcept<ReadMap<Arc, T>, CMap>();
3.141 @@ -703,6 +764,10 @@
3.142 EdgeMap(const EdgeMap& em) :
3.143 ReferenceMap<Edge, T, T&, const T&>(em) {}
3.144 ///Assignment operator
3.145 + EdgeMap& operator=(const EdgeMap&) {
3.146 + return *this;
3.147 + }
3.148 + ///Template Assignment operator
3.149 template <typename CMap>
3.150 EdgeMap& operator=(const CMap&) {
3.151 checkConcept<ReadMap<Edge, T>, CMap>();
4.1 --- a/lemon/concepts/graph_components.h Thu Feb 25 09:46:12 2021 +0100
4.2 +++ b/lemon/concepts/graph_components.h Tue Jul 28 21:23:36 2020 +0200
4.3 @@ -219,6 +219,12 @@
4.4 /// Copy constructor.
4.5 Edge(const Edge &) : Parent() {}
4.6
4.7 + /// Assignment operator
4.8 +
4.9 + /// Assignment operator.
4.10 + ///
4.11 + const Edge &operator=(const Edge&) { return *this; }
4.12 +
4.13 /// \brief Constructor for conversion from \c INVALID.
4.14 ///
4.15 /// Constructor for conversion from \c INVALID.
4.16 @@ -336,6 +342,11 @@
4.17 ///
4.18 /// Copy constructor.
4.19 RedNode(const RedNode &) : Parent() {}
4.20 + /// Assignment operator
4.21 +
4.22 + /// Assignment operator.
4.23 + ///
4.24 + const RedNode &operator=(const RedNode&) { return *this; }
4.25
4.26 /// \brief Constructor for conversion from \c INVALID.
4.27 ///
4.28 @@ -365,6 +376,12 @@
4.29 ///
4.30 /// Copy constructor.
4.31 BlueNode(const BlueNode &) : Parent() {}
4.32 + /// Assignment operator
4.33 +
4.34 + /// Assignment operator.
4.35 + ///
4.36 + const BlueNode &operator=(const BlueNode&) { return *this; }
4.37 +
4.38
4.39 /// \brief Constructor for conversion from \c INVALID.
4.40 ///
5.1 --- a/lemon/dim2.h Thu Feb 25 09:46:12 2021 +0100
5.2 +++ b/lemon/dim2.h Tue Jul 28 21:23:36 2020 +0200
5.3 @@ -54,7 +54,7 @@
5.4 T y;
5.5
5.6 ///Default constructor
5.7 - Point() {}
5.8 + Point() : x(), y() {}
5.9
5.10 ///Construct an instance from coordinates
5.11 Point(T a, T b) : x(a), y(b) { }
6.1 --- a/lemon/list_graph.h Thu Feb 25 09:46:12 2021 +0100
6.2 +++ b/lemon/list_graph.h Tue Jul 28 21:23:36 2020 +0200
6.3 @@ -1657,6 +1657,7 @@
6.4 RedNode() {}
6.5 RedNode(const RedNode& node) : Node(node) {}
6.6 RedNode(Invalid) : Node(INVALID){}
6.7 + const RedNode& operator=(const RedNode& node) { Node::operator=(node); return *this;}
6.8 };
6.9
6.10 class BlueNode : public Node {
6.11 @@ -1669,6 +1670,7 @@
6.12 BlueNode() {}
6.13 BlueNode(const BlueNode& node) : Node(node) {}
6.14 BlueNode(Invalid) : Node(INVALID){}
6.15 + const BlueNode& operator=(const BlueNode& node) { Node::operator=(node); return *this;}
6.16 };
6.17
6.18 class Edge {
7.1 --- a/lemon/maps.h Thu Feb 25 09:46:12 2021 +0100
7.2 +++ b/lemon/maps.h Tue Jul 28 21:23:36 2020 +0200
7.3 @@ -294,10 +294,13 @@
7.4
7.5 private:
7.6
7.7 - RangeMap& operator=(const RangeMap&);
7.8 + // RangeMap& operator=(const RangeMap&);
7.9
7.10 public:
7.11
7.12 + // ///\e
7.13 + // RangeMap(const RangeMap&);
7.14 +
7.15 ///\e
7.16 Reference operator[](const Key &k) {
7.17 return _vector[k];
8.1 --- a/lemon/smart_graph.h Thu Feb 25 09:46:12 2021 +0100
8.2 +++ b/lemon/smart_graph.h Tue Jul 28 21:23:36 2020 +0200
8.3 @@ -863,7 +863,8 @@
8.4 public:
8.5 RedNode() {}
8.6 RedNode(const RedNode& node) : Node(node) {}
8.7 - RedNode(Invalid) : Node(INVALID){}
8.8 + RedNode(Invalid) : Node(INVALID) {}
8.9 + const RedNode& operator=(const RedNode& node) { Node::operator=(node); return *this;}
8.10 };
8.11
8.12 class BlueNode : public Node {
8.13 @@ -876,6 +877,7 @@
8.14 BlueNode() {}
8.15 BlueNode(const BlueNode& node) : Node(node) {}
8.16 BlueNode(Invalid) : Node(INVALID){}
8.17 + const BlueNode& operator=(const BlueNode& node) { Node::operator=(node); return *this;}
8.18 };
8.19
8.20 class Edge {
9.1 --- a/test/maps_test.cc Thu Feb 25 09:46:12 2021 +0100
9.2 +++ b/test/maps_test.cc Tue Jul 28 21:23:36 2020 +0200
9.3 @@ -61,6 +61,9 @@
9.4 typedef A argument_type;
9.5 typedef B result_type;
9.6
9.7 + F() {};
9.8 + F(const F&) {};
9.9 +
9.10 B operator()(const A&) const { return B(); }
9.11 private:
9.12 F& operator=(const F&);