From 17840ad290303314dcd052f36ec31ca53e827af1 Mon Sep 17 00:00:00 2001 From: Junwang Zhao Date: Tue, 2 Dec 2025 23:08:28 +0800 Subject: [PATCH] refactor: use std::ranges::to in ToUpper and ToLower CI moved to gcc-14 and other code already uses std::ranges::to, so the TODO can be removed. --- src/iceberg/util/string_util.h | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/iceberg/util/string_util.h b/src/iceberg/util/string_util.h index aafb740cd..8eee314f5 100644 --- a/src/iceberg/util/string_util.h +++ b/src/iceberg/util/string_util.h @@ -30,19 +30,13 @@ namespace iceberg { class ICEBERG_EXPORT StringUtils { public: static std::string ToLower(std::string_view str) { - std::string input(str); - // TODO(xiao.dong) gcc 13.3 didn't support std::ranges::to - std::transform(input.begin(), input.end(), input.begin(), // NOLINT - [](char c) { return std::tolower(c); }); // NOLINT - return input; + return str | std::ranges::views::transform([](char c) { return std::tolower(c); }) | + std::ranges::to(); } static std::string ToUpper(std::string_view str) { - std::string input(str); - // TODO(xiao.dong) gcc 13.3 didn't support std::ranges::to - std::transform(input.begin(), input.end(), input.begin(), // NOLINT - [](char c) { return std::toupper(c); }); // NOLINT - return input; + return str | std::ranges::views::transform([](char c) { return std::toupper(c); }) | + std::ranges::to(); } static bool EqualsIgnoreCase(std::string_view lhs, std::string_view rhs) {