From af145f151a5ad703658a0f9f3093d74bf2ebe6ef Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 29 Jun 2023 09:41:52 +0200 Subject: [PATCH] Pass large objects by reference to const (Sonar). --- src/mc/explo/UdporChecker.cpp | 2 +- src/mc/explo/udpor/maximal_subsets_iterator.cpp | 3 ++- src/mc/explo/udpor/maximal_subsets_iterator.hpp | 9 +++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mc/explo/UdporChecker.cpp b/src/mc/explo/UdporChecker.cpp index 43c229ff77..c8bac5bbd2 100644 --- a/src/mc/explo/UdporChecker.cpp +++ b/src/mc/explo/UdporChecker.cpp @@ -300,7 +300,7 @@ void UdporChecker::clean_up_explore(const UnfoldingEvent* e, const Configuration // "U (complicated expression)" portion const EventSet conflict_union = std::accumulate( - C_union_D.begin(), C_union_D.end(), EventSet(), [&](const EventSet acc, const UnfoldingEvent* e_prime) { + C_union_D.begin(), C_union_D.end(), EventSet(), [&](const EventSet& acc, const UnfoldingEvent* e_prime) { return acc.make_union(unfolding.get_immediate_conflicts_of(e_prime)); }); diff --git a/src/mc/explo/udpor/maximal_subsets_iterator.cpp b/src/mc/explo/udpor/maximal_subsets_iterator.cpp index 6c6ba8cbaf..6c2dee3ce6 100644 --- a/src/mc/explo/udpor/maximal_subsets_iterator.cpp +++ b/src/mc/explo/udpor/maximal_subsets_iterator.cpp @@ -6,7 +6,8 @@ namespace simgrid::mc::udpor { -maximal_subsets_iterator::maximal_subsets_iterator(const EventSet& events, std::optional filter, +maximal_subsets_iterator::maximal_subsets_iterator(const EventSet& events, + const std::optional& filter, std::optional maximum_subset_size) : maximum_subset_size(maximum_subset_size), current_maximal_set({EventSet()}) { diff --git a/src/mc/explo/udpor/maximal_subsets_iterator.hpp b/src/mc/explo/udpor/maximal_subsets_iterator.hpp index 3c3291a2cc..49872d809a 100644 --- a/src/mc/explo/udpor/maximal_subsets_iterator.hpp +++ b/src/mc/explo/udpor/maximal_subsets_iterator.hpp @@ -40,13 +40,14 @@ public: maximal_subsets_iterator() = default; explicit maximal_subsets_iterator(const Configuration& config, - std::optional filter = std::nullopt, - std::optional maximum_subset_size = std::nullopt) + const std::optional& filter = std::nullopt, + std::optional maximum_subset_size = std::nullopt) : maximal_subsets_iterator(config.get_events(), filter, maximum_subset_size) { } - explicit maximal_subsets_iterator(const EventSet& events, std::optional filter = std::nullopt, - std::optional maximum_subset_size = std::nullopt); + explicit maximal_subsets_iterator(const EventSet& events, + const std::optional& filter = std::nullopt, + std::optional maximum_subset_size = std::nullopt); private: std::vector topological_ordering; -- 2.20.1