From 51c111190dd80a8f156886fb43660e18a827d412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Fri, 19 Jul 2024 12:21:38 +0200 Subject: [PATCH] C++20 modernization: use std::ranges::copy --- src/DataTree.cc | 4 ++-- src/ModelTree.cc | 17 ++++++++--------- src/StaticModel.cc | 6 +++--- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/DataTree.cc b/src/DataTree.cc index 3f7b452e..5f77077a 100644 --- a/src/DataTree.cc +++ b/src/DataTree.cc @@ -972,7 +972,7 @@ DataTree::writeToFileIfModified(stringstream& new_contents, const filesystem::pa cerr << "ERROR: Can't open file " << filename.string() << " for writing" << endl; exit(EXIT_FAILURE); } - copy(istreambuf_iterator<char> {new_contents}, istreambuf_iterator<char> {}, - ostreambuf_iterator<char> {new_file}); + ranges::copy(istreambuf_iterator<char> {new_contents}, istreambuf_iterator<char> {}, + ostreambuf_iterator<char> {new_file}); new_file.close(); } diff --git a/src/ModelTree.cc b/src/ModelTree.cc index 533a13ce..99d844bf 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -983,9 +983,9 @@ ModelTree::computeTemporaryTerms(bool is_matlab, bool no_tmp_terms) temporary_terms_derivatives.clear(); temporary_terms_derivatives.resize(derivatives.size()); for (int order = 0; order < static_cast<int>(derivatives.size()); order++) - copy(temp_terms_map[{order, 0}].begin(), temp_terms_map[{order, 0}].end(), - inserter(temporary_terms_derivatives.at(order), - temporary_terms_derivatives.at(order).begin())); + ranges::copy(temp_terms_map[{order, 0}], + inserter(temporary_terms_derivatives.at(order), + temporary_terms_derivatives.at(order).begin())); // Compute indices in MATLAB/Julia vector for (int order {0}, idx {0}; order < static_cast<int>(derivatives.size()); order++) @@ -1038,9 +1038,9 @@ ModelTree::computeBlockTemporaryTerms(bool no_tmp_terms) { blocks_temporary_terms.at(blk).resize(temp_terms.at(blk).size()); for (size_t i {0}; i < temp_terms.at(blk).size(); i++) - copy(temp_terms.at(blk).at(i).begin(), temp_terms.at(blk).at(i).end(), - inserter(blocks_temporary_terms.at(blk).at(i), - blocks_temporary_terms.at(blk).at(i).begin())); + ranges::copy(temp_terms.at(blk).at(i), + inserter(blocks_temporary_terms.at(blk).at(i), + blocks_temporary_terms.at(blk).at(i).begin())); } // Compute indices in the temporary terms vector @@ -1544,9 +1544,8 @@ ModelTree::computeParamsDerivativesTemporaryTerms() d->computeTemporaryTerms(order, temp_terms_map, reference_count, true); for (const auto& [order, tts] : temp_terms_map) - copy(temp_terms_map[order].begin(), temp_terms_map[order].end(), - inserter(params_derivs_temporary_terms[order], - params_derivs_temporary_terms[order].begin())); + ranges::copy(temp_terms_map[order], inserter(params_derivs_temporary_terms[order], + params_derivs_temporary_terms[order].begin())); for (int idx {0}; const auto& [order, tts] : params_derivs_temporary_terms) for (const auto& tt : tts) diff --git a/src/StaticModel.cc b/src/StaticModel.cc index 8a221238..dbf81f5d 100644 --- a/src/StaticModel.cc +++ b/src/StaticModel.cc @@ -669,9 +669,9 @@ StaticModel::computeRamseyMultipliersDerivatives(int ramsey_orig_endo_nbr, bool if (no_tmp_terms) for (auto& it : temp_terms_map) erase_if(it.second, [](expr_t e) { return !dynamic_cast<AbstractExternalFunctionNode*>(e); }); - copy(temp_terms_map[{1, 0}].begin(), temp_terms_map[{1, 0}].end(), - inserter(ramsey_multipliers_derivatives_temporary_terms, - ramsey_multipliers_derivatives_temporary_terms.begin())); + ranges::copy(temp_terms_map[{1, 0}], + inserter(ramsey_multipliers_derivatives_temporary_terms, + ramsey_multipliers_derivatives_temporary_terms.begin())); for (int idx {0}; auto it : ramsey_multipliers_derivatives_temporary_terms) ramsey_multipliers_derivatives_temporary_terms_idxs[it] = idx++; -- GitLab