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) {