From 7b339cabe7672856ddd9d8852e1bb4c4a7cf047b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Wed, 6 Nov 2024 16:02:40 +0100
Subject: [PATCH] C++17 modernization: more uses of structured bindings

---
 src/DataTree.cc           | 12 ++++++------
 src/DynamicModel.cc       |  6 +++---
 src/ModelEquationBlock.cc |  4 ++--
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/DataTree.cc b/src/DataTree.cc
index acfd28aa..72ab5a44 100644
--- a/src/DataTree.cc
+++ b/src/DataTree.cc
@@ -860,10 +860,10 @@ bool
 DataTree::isUnaryOpUsedOnType(SymbolType type, UnaryOpcode opcode) const
 {
   set<int> var;
-  for (const auto& it : unary_op_node_map)
-    if (get<1>(it.first) == opcode)
+  for (const auto& [key, value] : unary_op_node_map)
+    if (get<1>(key) == opcode)
       {
-        it.second->collectVariables(type, var);
+        value->collectVariables(type, var);
         if (!var.empty())
           return true;
       }
@@ -881,10 +881,10 @@ bool
 DataTree::isBinaryOpUsedOnType(SymbolType type, BinaryOpcode opcode) const
 {
   set<int> var;
-  for (const auto& it : binary_op_node_map)
-    if (get<2>(it.first) == opcode)
+  for (const auto& [key, value] : binary_op_node_map)
+    if (get<2>(key) == opcode)
       {
-        it.second->collectVariables(type, var);
+        value->collectVariables(type, var);
         if (!var.empty())
           return true;
       }
diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 9f8e5af1..8bc2da74 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -3751,18 +3751,18 @@ void
 DynamicModel::detrendEquations()
 {
   // We go backwards in the list of trend_vars, to deal correctly with I(2) processes
-  for (const auto& it : std::ranges::reverse_view(nonstationary_symbols_map))
+  for (const auto& [symb_id, deflator] : std::ranges::reverse_view(nonstationary_symbols_map))
     {
       for (auto& equation : equations)
         {
           equation = dynamic_cast<BinaryOpNode*>(
-              equation->detrend(it.first, it.second.first, it.second.second));
+              equation->detrend(symb_id, deflator.first, deflator.second));
           assert(equation);
         }
       for (auto& equation : static_only_equations)
         {
           equation = dynamic_cast<BinaryOpNode*>(
-              equation->detrend(it.first, it.second.first, it.second.second));
+              equation->detrend(symb_id, deflator.first, deflator.second));
           assert(equation);
         }
     }
diff --git a/src/ModelEquationBlock.cc b/src/ModelEquationBlock.cc
index a2cd7070..647d0180 100644
--- a/src/ModelEquationBlock.cc
+++ b/src/ModelEquationBlock.cc
@@ -410,10 +410,10 @@ void
 Epilogue::detrend(const map<int, expr_t>& trend_symbols_map,
                   const nonstationary_symbols_map_t& nonstationary_symbols_map)
 {
-  for (const auto& it : ranges::reverse_view(nonstationary_symbols_map))
+  for (const auto& [symb_id, deflator] : ranges::reverse_view(nonstationary_symbols_map))
     for (auto& [symb_id, expr] : dynamic_def_table)
       {
-        expr = expr->detrend(it.first, it.second.first, it.second.second);
+        expr = expr->detrend(symb_id, deflator.first, deflator.second);
         assert(expr);
       }
 
-- 
GitLab