20 const char32_t c32 = ((c16 & ~0xd800) << 10) + 0x10000;
26 return ps->_Wchar + (c16 & ~0xdc00);
31 return ps->_Wchar != 0;
37 return 0xd800 <= c16 && c16 <= 0xdbff;
43 return 0xdc00 <= c16 && c16 <= 0xdfff;
50 __crt_cached_ptd_host
ptd;
size_t __cdecl c16rtomb(char *s, char16_t c16, mbstate_t *ps)
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
size_t return_illegal_sequence(mbstate_t *ps, __crt_cached_ptd_host &ptd)
size_t reset_and_return(size_t retval, mbstate_t *ps)
size_t __cdecl __c16rtomb_utf8(char *s, char16_t c16, mbstate_t *ps, __crt_cached_ptd_host &ptd)
size_t __cdecl __c32rtomb_utf8(char *s, char32_t c32, mbstate_t *ps, __crt_cached_ptd_host &ptd)
constexpr bool has_surrogate(mbstate_t *ps)
constexpr bool is_second_surrogate(char16_t c16)
char32_t combine_second_surrogate(char16_t c16, mbstate_t *ps)
constexpr bool is_first_surrogate(char16_t c16)
void store_first_surrogate(char16_t c16, mbstate_t *ps)