mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
util/unicode.cpp: string_view treatment for the last two holdouts.
This commit is contained in:
parent
30dad180dd
commit
cfab5b6c03
@ -454,14 +454,14 @@ int utf16f_from_uchar(char16_t *utf16string, size_t count, char32_t uchar)
|
|||||||
// wstring_from_utf8
|
// wstring_from_utf8
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
std::wstring wstring_from_utf8(const std::string &utf8string)
|
std::wstring wstring_from_utf8(std::string_view utf8string)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// for some reason, using codecvt yields bad results on MinGW (but not MSVC)
|
// for some reason, using codecvt yields bad results on MinGW (but not MSVC)
|
||||||
return osd::text::to_wstring(utf8string);
|
return osd::text::to_wstring(utf8string);
|
||||||
#else
|
#else
|
||||||
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
||||||
return converter.from_bytes(utf8string);
|
return converter.from_bytes(string.data(), string.data() + string.length());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -470,14 +470,14 @@ std::wstring wstring_from_utf8(const std::string &utf8string)
|
|||||||
// utf8_from_wstring
|
// utf8_from_wstring
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
std::string utf8_from_wstring(const std::wstring &string)
|
std::string utf8_from_wstring(std::wstring_view string)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// for some reason, using codecvt yields bad results on MinGW (but not MSVC)
|
// for some reason, using codecvt yields bad results on MinGW (but not MSVC)
|
||||||
return osd::text::from_wstring(string);
|
return osd::text::from_wstring(string);
|
||||||
#else
|
#else
|
||||||
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
|
||||||
return converter.to_bytes(string);
|
return converter.to_bytes(string.data(), string.data() + string.length());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,8 +68,8 @@ int utf16_from_uchar(char16_t *utf16string, size_t count, char32_t uchar);
|
|||||||
int utf16f_from_uchar(char16_t *utf16string, size_t count, char32_t uchar);
|
int utf16f_from_uchar(char16_t *utf16string, size_t count, char32_t uchar);
|
||||||
|
|
||||||
// converting UTF-8 strings to/from "wide" strings
|
// converting UTF-8 strings to/from "wide" strings
|
||||||
std::wstring wstring_from_utf8(const std::string &utf8string);
|
std::wstring wstring_from_utf8(std::string_view utf8string);
|
||||||
std::string utf8_from_wstring(const std::wstring &string);
|
std::string utf8_from_wstring(std::wstring_view string);
|
||||||
|
|
||||||
// unicode normalization
|
// unicode normalization
|
||||||
std::string normalize_unicode(const char *s, unicode_normalization_form normalization_form, bool fold_case = false);
|
std::string normalize_unicode(const char *s, unicode_normalization_form normalization_form, bool fold_case = false);
|
||||||
|
Loading…
Reference in New Issue
Block a user