Resolve deprecation warnings of gcc 9 (#633)
authorAlpar Juttner <alpar@cs.elte.hu>
Tue, 28 Jul 2020 21:23:36 +0200
changeset 1210da87dbdf3daf
parent 1209 4a170261cc54
child 1211 a278d16bd2d0
Resolve deprecation warnings of gcc 9 (#633)
lemon/concepts/bpgraph.h
lemon/concepts/digraph.h
lemon/concepts/graph.h
lemon/concepts/graph_components.h
lemon/dim2.h
lemon/list_graph.h
lemon/maps.h
lemon/smart_graph.h
test/maps_test.cc
     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&);