diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/common/String.cpp | 10 |
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 |