From 882a2627ab2ea33aaec6b6d0121daee587a2169b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Mar 2026 02:39:19 +0000 Subject: [PATCH 2/2] Pass unordered_set by const ref in Strings::Implode to avoid unnecessary copy Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com> --- common/strings.cpp | 6 +++--- common/strings.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/strings.cpp b/common/strings.cpp index 29bef8993..a4ea9f3da 100644 --- a/common/strings.cpp +++ b/common/strings.cpp @@ -961,14 +961,14 @@ bool Strings::IsValidJson(const std::string &json) return result; } -std::string Strings::Implode(const std::string& glue, std::unordered_set src) +std::string Strings::Implode(const std::string& glue, const std::unordered_set& src) { if (src.empty()) { return {}; } - std::ostringstream output; - std::unordered_set::iterator src_iter; + std::ostringstream output; + std::unordered_set::const_iterator src_iter; for (src_iter = src.begin(); src_iter != src.end(); src_iter++) { output << *src_iter << glue; diff --git a/common/strings.h b/common/strings.h index ab2e71011..ef7d93440 100644 --- a/common/strings.h +++ b/common/strings.h @@ -77,7 +77,7 @@ public: static std::string Escape(const std::string &s); static std::string GetBetween(const std::string &s, std::string start_delim, std::string stop_delim); static std::string Implode(const std::string& glue, std::vector src); - static std::string Implode(const std::string& glue, std::unordered_set src); + static std::string Implode(const std::string& glue, const std::unordered_set& src); static std::string Join(const std::vector &ar, const std::string &delim); static std::string Join(const std::vector &ar, const std::string &delim); static std::string MillisecondsToTime(int duration);