aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-08-12 21:44:32 +0800
committercrupest <crupest@outlook.com>2021-08-12 21:44:32 +0800
commit2e379441f69c4fd3049d186f76b25457e6250282 (patch)
tree893771e5103ca9f3a34bb622251aaacb024cf1c2 /src/common
parentd718b0f576aeae1fa853124caefc8b0078f1deed (diff)
downloadcru-2e379441f69c4fd3049d186f76b25457e6250282.tar.gz
cru-2e379441f69c4fd3049d186f76b25457e6250282.tar.bz2
cru-2e379441f69c4fd3049d186f76b25457e6250282.zip
...
Diffstat (limited to 'src/common')
-rw-r--r--src/common/CMakeLists.txt1
-rw-r--r--src/common/String.cpp10
2 files changed, 11 insertions, 0 deletions
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index d5d544ee..94961746 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -8,6 +8,7 @@ target_sources(cru_base PUBLIC
${CRU_BASE_INCLUDE_DIR}/Base.hpp
${CRU_BASE_INCLUDE_DIR}/Bitmask.hpp
${CRU_BASE_INCLUDE_DIR}/Event.hpp
+ ${CRU_BASE_INCLUDE_DIR}/Exception.hpp
${CRU_BASE_INCLUDE_DIR}/Format.hpp
${CRU_BASE_INCLUDE_DIR}/Logger.hpp
${CRU_BASE_INCLUDE_DIR}/PreConfig.hpp
diff --git a/src/common/String.cpp b/src/common/String.cpp
index ce124575..91422d48 100644
--- a/src/common/String.cpp
+++ b/src/common/String.cpp
@@ -1,8 +1,14 @@
#include "cru/common/String.hpp"
+#include "cru/common/StringUtil.hpp"
#include <cstring>
+#include <string_view>
namespace cru {
+String String::FromUtf8(const char* str, Index size) {
+ return String{cru::ToUtf16(std::string_view(str, size))};
+}
+
std::uint16_t String::kEmptyBuffer[1] = {0};
template <typename C>
@@ -138,4 +144,8 @@ String::iterator String::erase(const_iterator start, const_iterator end) {
return s;
}
+std::string String::ToUtf8() const {
+ return cru::ToUtf8(std::u16string_view(Char16CStr(), size()));
+}
+
} // namespace cru