diff --git a/deps/ox/src/ox/std/string.hpp b/deps/ox/src/ox/std/string.hpp index a9a7c224..56d96f6a 100644 --- a/deps/ox/src/ox/std/string.hpp +++ b/deps/ox/src/ox/std/string.hpp @@ -32,6 +32,8 @@ class BasicString { constexpr BasicString(const char *str) noexcept; + constexpr BasicString(const char8_t *str) noexcept; + constexpr BasicString(const char *str, std::size_t size) noexcept; constexpr BasicString(const BasicString&) noexcept; @@ -221,6 +223,16 @@ constexpr BasicString::BasicString(const char *str) noexcept { *this = str; } +template +constexpr BasicString::BasicString(const char8_t *str) noexcept { + if (m_buff.size()) { + m_buff[0] = 0; + } else { + m_buff.push_back(0); + } + *this = str; +} + template constexpr BasicString::BasicString(const char *str, std::size_t size) noexcept { m_buff.resize(size + 1);