24#define _mbbisupper(_c) ((_mbctype.value()[(_c) + 1] & _SBUP) == _SBUP)
25#define _mbbislower(_c) ((_mbctype.value()[(_c) + 1] & _SBLOW) == _SBLOW)
27#define _mbbtolower(_c) (_mbbisupper(_c) ? _mbcasemap.value()[_c] : _c)
28#define _mbbtoupper(_c) (_mbbislower(_c) ? _mbcasemap.value()[_c] : _c)
30#define _ismbbtruelead_l(_lb,_ch,p) (!(_lb) && _ismbblead_l((_ch), p))
31#define _mbbisupper_l(_c, p) ((p->mbcinfo->mbctype[(_c) + 1] & _SBUP) == _SBUP)
32#define _mbbislower_l(_c, p) ((p->mbcinfo->mbctype[(_c) + 1] & _SBLOW) == _SBLOW)
33#define _mbbtolower_l(_c, p) (_mbbisupper_l(_c, p) ? p->mbcinfo->mbcasemap[_c] : _c)
34#define _mbbtoupper_l(_c, p) (_mbbislower_l(_c, p) ? p->mbcinfo->mbcasemap[_c] : _c)
38#define _MBUPPERLOW1_MT(p) p->mbcinfo->mbulinfo[0]
39#define _MBUPPERHIGH1_MT(p) p->mbcinfo->mbulinfo[1]
40#define _MBCASEDIFF1_MT(p) p->mbcinfo->mbulinfo[2]
42#define _MBUPPERLOW2_MT(p) p->mbcinfo->mbulinfo[3]
43#define _MBUPPERHIGH2_MT(p) p->mbcinfo->mbulinfo[4]
44#define _MBCASEDIFF2_MT(p) p->mbcinfo->mbulinfo[5]
47#define _MBHIRALOW 0x829f
48#define _MBHIRAHIGH 0x82f1
50#define _MBKATALOW 0x8340
51#define _MBKATAHIGH 0x8396
52#define _MBKATAEXCEPT 0x837f
54#define _MBKIGOULOW 0x8141
55#define _MBKIGOUHIGH 0x81ac
56#define _MBKIGOUEXCEPT 0x817f
60#define _ismbbalnum_l(_c, pt) ((((pt)->locinfo->_public._locale_pctype)[_c] & \
62 (((pt)->mbcinfo->mbctype+1)[_c] & _MS))
63#define _ismbbalpha_l(_c, pt) ((((pt)->locinfo->_public._locale_pctype)[_c] & \
65 (((pt)->mbcinfo->mbctype+1)[_c] & _MS))
66#define _ismbbgraph_l(_c, pt) ((((pt)->locinfo->_public._locale_pctype)[_c] & \
67 (_PUNCT|_ALPHA|_DIGIT)) || \
68 (((pt)->mbcinfo->mbctype+1)[_c] & (_MS|_MP)))
69#define _ismbbprint_l(_c, pt) ((((pt)->locinfo->_public._locale_pctype)[_c] & \
70 (_BLANK|_PUNCT|_ALPHA|_DIGIT)) || \
71 (((pt)->mbcinfo->mbctype + 1)[_c] & (_MS|_MP)))
72#define _ismbbpunct_l(_c, pt) ((((pt)->locinfo->_public._locale_pctype)[_c] & _PUNCT) || \
73 (((pt)->mbcinfo->mbctype+1)[_c] & _MP))
74#define _ismbbblank_l(_c, pt) (((_c) == '\t') ? _BLANK : (((pt)->locinfo->_public._locale_pctype)[_c] & _BLANK) || \
75 (((pt)->mbcinfo->mbctype+1)[_c] & _MP))
78#define _ismbblead_l(_c, p) ((p->mbcinfo->mbctype + 1)[_c] & _M1)
79#define _ismbbtrail_l(_c, p) ((p->mbcinfo->mbctype + 1)[_c] & _M2)
84extern "C" inline int __cdecl __dcrt_multibyte_check_type(
87 unsigned short const category_bits,
92 if (!
locale->mbcinfo->ismbcodepage)
97 char const bytes[] = {
static_cast<char>((
c >> 8) & 0xff),
static_cast<char>(
c & 0xff) };
103 unsigned short ctypes[2] = { };
113 return static_cast<bool>((ctypes[0] & category_bits) != 0) ==
expected ?
TRUE :
FALSE;
138 size_t __cdecl __c16rtomb_utf8(
char*
s,
char16_t c16,
mbstate_t* ps, __crt_cached_ptd_host&
ptd);
139 size_t __cdecl __c32rtomb_utf8(
char*
s,
char32_t c32,
mbstate_t* ps, __crt_cached_ptd_host&
ptd);
140 size_t __cdecl __mbrtoc16_utf8(
char16_t* pc32,
const char*
s,
size_t n,
mbstate_t* ps, __crt_cached_ptd_host&
ptd);
141 size_t __cdecl __mbrtoc32_utf8(
char32_t* pc32,
const char*
s,
size_t n,
mbstate_t* ps, __crt_cached_ptd_host&
ptd);
147 constexpr size_t INVALID =
static_cast<size_t>(-1);
BOOL __cdecl __acrt_GetStringTypeA(_locale_t const locale, DWORD const info_type, LPCSTR const string, int const string_size_in_bytes, unsigned short *const char_type, int const code_page, BOOL const error)
static unsigned char bytes[4]
_Out_opt_ UINT * code_page
_Check_return_wat_ errno_t __cdecl _wctomb_internal(_Out_opt_ int *_SizeConverted, _Out_writes_opt_z_(_SizeInBytes) char *_MbCh, _In_ size_t _SizeInBytes, _In_ wchar_t _WCh, _Inout_ __crt_cached_ptd_host &_Ptd)
_In_ size_t _Inout_ __crt_cached_ptd_host & _Ptd
_In_ size_t _SrcSizeInBytes
_In_ size_t const _In_ int _In_ bool const _In_ unsigned const _In_ __acrt_rounding_mode const _Inout_ __crt_cached_ptd_host & ptd
int __cdecl _mbtowc_internal(wchar_t *pwc, const char *s, size_t n, __crt_cached_ptd_host &ptd)
#define _In_reads_or_z_opt_(size)
size_t __cdecl __mbrtowc_utf8(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps, __crt_cached_ptd_host &ptd)
size_t __cdecl __wcsrtombs_utf8(char *dst, const wchar_t **src, size_t len, mbstate_t *ps, __crt_cached_ptd_host &ptd)
size_t __cdecl __mbsrtowcs_utf8(wchar_t *dst, const char **src, size_t len, mbstate_t *ps, __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)
constexpr size_t INCOMPLETE
#define _Out_writes_opt_z_(s)
#define _Check_return_wat_
#define _CRT_END_C_HEADER
#define _CRT_BEGIN_C_HEADER