aboutsummaryrefslogtreecommitdiff
path: root/src/common/StringUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/StringUtil.cpp')
-rw-r--r--src/common/StringUtil.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/common/StringUtil.cpp b/src/common/StringUtil.cpp
index 0cadc545..bf95f88d 100644
--- a/src/common/StringUtil.cpp
+++ b/src/common/StringUtil.cpp
@@ -284,4 +284,30 @@ gsl::index Utf16NextWord(std::u16string_view str, gsl::index position,
return Utf16ForwardUntil(str, position, IsSpace);
}
}
+
+char16_t ToLower(char16_t c) {
+ if (c >= u'A' && c <= u'Z') {
+ return c - u'A' + u'a';
+ }
+ return c;
+}
+
+char16_t ToUpper(char16_t c) {
+ if (c >= u'a' && c <= u'z') {
+ return c - u'a' + u'A';
+ }
+ return c;
+}
+
+std::u16string ToLower(std::u16string_view s) {
+ std::u16string result;
+ for (auto c : s) result.push_back(ToLower(c));
+ return result;
+}
+
+std::u16string ToUpper(std::u16string_view s) {
+ std::u16string result;
+ for (auto c : s) result.push_back(ToUpper(c));
+ return result;
+}
} // namespace cru