Skip to content

Commit 4133aa2

Browse files
authored
refactor: use std::ranges::to in ToUpper and ToLower (#382)
CI moved to gcc-14 and other code already uses std::ranges::to, so the TODO can be removed.
1 parent 212f087 commit 4133aa2

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

src/iceberg/util/string_util.h

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,13 @@ namespace iceberg {
3030
class ICEBERG_EXPORT StringUtils {
3131
public:
3232
static std::string ToLower(std::string_view str) {
33-
std::string input(str);
34-
// TODO(xiao.dong) gcc 13.3 didn't support std::ranges::to
35-
std::transform(input.begin(), input.end(), input.begin(), // NOLINT
36-
[](char c) { return std::tolower(c); }); // NOLINT
37-
return input;
33+
return str | std::ranges::views::transform([](char c) { return std::tolower(c); }) |
34+
std::ranges::to<std::string>();
3835
}
3936

4037
static std::string ToUpper(std::string_view str) {
41-
std::string input(str);
42-
// TODO(xiao.dong) gcc 13.3 didn't support std::ranges::to
43-
std::transform(input.begin(), input.end(), input.begin(), // NOLINT
44-
[](char c) { return std::toupper(c); }); // NOLINT
45-
return input;
38+
return str | std::ranges::views::transform([](char c) { return std::toupper(c); }) |
39+
std::ranges::to<std::string>();
4640
}
4741

4842
static bool EqualsIgnoreCase(std::string_view lhs, std::string_view rhs) {

0 commit comments

Comments
 (0)