diff options
| -rw-r--r-- | include/winapi/utf8.hpp | 3 | ||||
| -rw-r--r-- | src/convert.cpp | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/winapi/utf8.hpp b/include/winapi/utf8.hpp index c6bb03a..2e87f75 100644 --- a/include/winapi/utf8.hpp +++ b/include/winapi/utf8.hpp @@ -22,6 +22,9 @@ static_assert(sizeof(wchar_t) == 2, "This is Windows, right?"); /** Convert UTF-8 string to UTF-16. */ std::wstring widen(const std::string&); +#ifdef __cpp_lib_char8_t +std::wstring widen(const std::u8string&); +#endif /** * Convert UTF-8 string to UTF-16. diff --git a/src/convert.cpp b/src/convert.cpp index 4ccc3a0..c0a8e98 100644 --- a/src/convert.cpp +++ b/src/convert.cpp @@ -100,6 +100,12 @@ std::wstring widen(const std::string& src) { return widen(src.c_str(), src.size()); } +#ifdef __cpp_lib_char8_t +std::wstring widen(const std::u8string& src) { + return widen(src.c_str(), src.size()); +} +#endif + std::wstring widen(const void* src, std::size_t in_nb) { const DWORD flags = MB_ERR_INVALID_CHARS; |
