diff options
author | crupest <crupest@outlook.com> | 2021-05-10 19:34:01 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-05-10 19:34:01 +0800 |
commit | 43a1883ac80ce3ff4782cd74e5ad16a03887c2aa (patch) | |
tree | daa3c374813f478e0ce99dfca858393b6ad95a3a /src/common | |
parent | ae5042599688af2d8b462e49e3cd103b6ec92fe9 (diff) | |
download | cru-43a1883ac80ce3ff4782cd74e5ad16a03887c2aa.tar.gz cru-43a1883ac80ce3ff4782cd74e5ad16a03887c2aa.tar.bz2 cru-43a1883ac80ce3ff4782cd74e5ad16a03887c2aa.zip |
...
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/StringUtil.cpp | 26 |
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 |