1 #if defined(_WIN32) && defined(_MSC_VER)
12 std::wstring Path::convert_utf8_to_wide(
const std::string& utf8string) {
14 std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
15 return converter.from_bytes(utf8string);
20 std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
25 std::mbstate_t state = std::mbstate_t();
27 const size_t len = std::wcsrtombs(
nullptr, &pNativePath, 0, &state);
28 if(len ==
static_cast<std::size_t
>(-1)) {
32 std::string mbstr(len + 1, 0);
33 const size_t retVal = std::wcsrtombs(&mbstr[0], &pNativePath, mbstr.size(), &state);