From 4683b9aeb659a58f900b8294e39aa64e0485e900 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Tue, 9 Jan 2024 13:04:33 +0100
Subject: [PATCH] C++17 modernization: add [[nodiscard]] to operator==()

---
 mex/sources/libkorder/sylv/QuasiTriangular.hh | 2 +-
 mex/sources/libkorder/sylv/Vector.hh          | 2 +-
 mex/sources/libkorder/tl/equivalence.hh       | 4 ++--
 mex/sources/libkorder/tl/gs_tensor.hh         | 2 +-
 mex/sources/libkorder/tl/int_sequence.hh      | 2 +-
 mex/sources/libkorder/tl/kron_prod.hh         | 4 ++--
 mex/sources/libkorder/tl/permutation.hh       | 4 ++--
 mex/sources/libkorder/tl/ps_tensor.hh         | 4 ++--
 mex/sources/libkorder/tl/symmetry.hh          | 2 +-
 mex/sources/libkorder/tl/tensor.hh            | 2 +-
 10 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/mex/sources/libkorder/sylv/QuasiTriangular.hh b/mex/sources/libkorder/sylv/QuasiTriangular.hh
index 0d7bcf1045..d83aaf0a98 100644
--- a/mex/sources/libkorder/sylv/QuasiTriangular.hh
+++ b/mex/sources/libkorder/sylv/QuasiTriangular.hh
@@ -240,7 +240,7 @@ public:
     real = r;
   }
   virtual ~_matrix_iter() = default;
-  bool
+  [[nodiscard]] bool
   operator==(const _Self& it) const
   {
     return ptr == it.ptr;
diff --git a/mex/sources/libkorder/sylv/Vector.hh b/mex/sources/libkorder/sylv/Vector.hh
index 191dd3b0d0..ad8affa69c 100644
--- a/mex/sources/libkorder/sylv/Vector.hh
+++ b/mex/sources/libkorder/sylv/Vector.hh
@@ -211,7 +211,7 @@ public:
     return s;
   }
   // Exact equality
-  bool operator==(const ConstVector& y) const;
+  [[nodiscard]] bool operator==(const ConstVector& y) const;
   // Lexicographic ordering
   [[nodiscard]] std::partial_ordering operator<=>(const ConstVector& y) const;
 
diff --git a/mex/sources/libkorder/tl/equivalence.hh b/mex/sources/libkorder/tl/equivalence.hh
index 82e635878a..006e76dba5 100644
--- a/mex/sources/libkorder/tl/equivalence.hh
+++ b/mex/sources/libkorder/tl/equivalence.hh
@@ -75,7 +75,7 @@ public:
   OrdSequence() : data()
   {
   }
-  bool operator==(const OrdSequence& s) const;
+  [[nodiscard]] bool operator==(const OrdSequence& s) const;
   int operator[](int i) const;
   [[nodiscard]] std::partial_ordering operator<=>(const OrdSequence& s) const;
   [[nodiscard]] const std::vector<int>&
@@ -121,7 +121,7 @@ public:
   // Copy constructor plus gluing i1 and i2 in one class
   Equivalence(const Equivalence& e, int i1, int i2);
 
-  bool operator==(const Equivalence& e) const;
+  [[nodiscard]] bool operator==(const Equivalence& e) const;
   [[nodiscard]] int
   getN() const
   {
diff --git a/mex/sources/libkorder/tl/gs_tensor.hh b/mex/sources/libkorder/tl/gs_tensor.hh
index 69046e3be8..d1c70328ba 100644
--- a/mex/sources/libkorder/tl/gs_tensor.hh
+++ b/mex/sources/libkorder/tl/gs_tensor.hh
@@ -76,7 +76,7 @@ public:
   // Constructs the tensor dimensions for slicing (see the implementation for details)
   TensorDimens(const IntSequence& ss, const IntSequence& coor);
 
-  bool
+  [[nodiscard]] bool
   operator==(const TensorDimens& td) const
   {
     return nvs == td.nvs && sym == td.sym;
diff --git a/mex/sources/libkorder/tl/int_sequence.hh b/mex/sources/libkorder/tl/int_sequence.hh
index dd8f5e3e5f..2a2e066158 100644
--- a/mex/sources/libkorder/tl/int_sequence.hh
+++ b/mex/sources/libkorder/tl/int_sequence.hh
@@ -120,7 +120,7 @@ public:
     if (destroy)
       delete[] data;
   }
-  bool operator==(const IntSequence& s) const;
+  [[nodiscard]] bool operator==(const IntSequence& s) const;
   int&
   operator[](int i)
   {
diff --git a/mex/sources/libkorder/tl/kron_prod.hh b/mex/sources/libkorder/tl/kron_prod.hh
index f76e1621dd..00df2f688c 100644
--- a/mex/sources/libkorder/tl/kron_prod.hh
+++ b/mex/sources/libkorder/tl/kron_prod.hh
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2004 Ondra Kamenik
- * Copyright © 2019-2023 Dynare Team
+ * Copyright © 2019-2024 Dynare Team
  *
  * This file is part of Dynare.
  *
@@ -86,7 +86,7 @@ public:
 
   KronProdDimens& operator=(const KronProdDimens& kd) = default;
   KronProdDimens& operator=(KronProdDimens&& kd) = default;
-  bool
+  [[nodiscard]] bool
   operator==(const KronProdDimens& kd) const
   {
     return rows == kd.rows && cols == kd.cols;
diff --git a/mex/sources/libkorder/tl/permutation.hh b/mex/sources/libkorder/tl/permutation.hh
index a799532a0e..a41075e287 100644
--- a/mex/sources/libkorder/tl/permutation.hh
+++ b/mex/sources/libkorder/tl/permutation.hh
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2004 Ondra Kamenik
- * Copyright © 2019-2023 Dynare Team
+ * Copyright © 2019-2024 Dynare Team
  *
  * This file is part of Dynare.
  *
@@ -95,7 +95,7 @@ public:
   Permutation(const Permutation& p, int i) : permap(p.permap.insert(p.size(), i))
   {
   }
-  bool
+  [[nodiscard]] bool
   operator==(const Permutation& p) const
   {
     return permap == p.permap;
diff --git a/mex/sources/libkorder/tl/ps_tensor.hh b/mex/sources/libkorder/tl/ps_tensor.hh
index 143ca2a34a..773f7bb41f 100644
--- a/mex/sources/libkorder/tl/ps_tensor.hh
+++ b/mex/sources/libkorder/tl/ps_tensor.hh
@@ -1,6 +1,6 @@
 /*
  * Copyright © 2004 Ondra Kamenik
- * Copyright © 2019-2023 Dynare Team
+ * Copyright © 2019-2024 Dynare Team
  *
  * This file is part of Dynare.
  *
@@ -115,7 +115,7 @@ public:
   {
     per.apply(nvmax);
   }
-  bool
+  [[nodiscard]] bool
   operator==(const PerTensorDimens& td) const
   {
     return TensorDimens::operator==(td) && per == td.per;
diff --git a/mex/sources/libkorder/tl/symmetry.hh b/mex/sources/libkorder/tl/symmetry.hh
index 997d0052ce..907b02c606 100644
--- a/mex/sources/libkorder/tl/symmetry.hh
+++ b/mex/sources/libkorder/tl/symmetry.hh
@@ -126,7 +126,7 @@ public:
   {
     return run;
   }
-  bool
+  [[nodiscard]] bool
   operator==(const symiterator& it)
   {
     return dim == it.dim && run == it.run;
diff --git a/mex/sources/libkorder/tl/tensor.hh b/mex/sources/libkorder/tl/tensor.hh
index a210bd8898..27cbd012ca 100644
--- a/mex/sources/libkorder/tl/tensor.hh
+++ b/mex/sources/libkorder/tl/tensor.hh
@@ -150,7 +150,7 @@ public:
     {
       return offset;
     }
-    bool
+    [[nodiscard]] bool
     operator==(const index& n) const
     {
       return offset == n.offset;
-- 
GitLab