From 46fe5c3b8f1c2bc64cb69c71a68174392f1a587d Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Mon, 8 Nov 2021 02:25:20 -0600 Subject: [PATCH] [ox/std] Add char8_t* constructor to String --- deps/ox/src/ox/std/string.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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);