28 #ifndef INC_CHRLib_chrproc_h_
29 #define INC_CHRLib_chrproc_h_ 1
32 #include YFM_CHRLib_CharacterMapping
33 #include YFM_YBaseMacro
46 template<
typename _tChar>
57 template<
typename _tChar>
61 static_assert(std::is_integral<_tChar>::value,
"Invalid type found.");
135 UCS2ToMBCS(
char*, const ucs2_t*, Encoding = CS_Default);
148 template<class _tDst, class _tSrc>
153 _tDst str(src.length() << 2,
171 template<
class _tString>
183 YF_API std::basic_string<ucs2_t>
187 YF_API std::basic_string<ucs2_t>
190 YF_API std::basic_string<ucs2_t>
193 template<
class _tString>
194 std::basic_string<ucs2_t>
205 template<
class _tDst>
212 _tDst str(std::char_traits<char>::length(s),
219 template<
class _tDst>
225 _tDst str(std::char_traits<ucs2_t>::length(s),
229 std::copy_n(s, str.size(), begin(str));
233 template<
class _tDst>
239 _tDst str(std::char_traits<ucs4_t>::length(s),
std::FILE ConversionState fp
YF_API std::string strdup(const ucs2_t *, Encoding=CS_Default)
复制 UCS-2 字符串为多字节字符串。
yconstexpr Encoding CS_Default
默认字符编码。
PDefH(ConversionResult, MBCToUC, ucs2_t &uc, const char *&c, Encoding enc, ConversionState &st) ImplRet(MBCToUC(uc
yconstfn char ToASCII(_tChar c)
任意整数类型字符转换为 ASCII 取值范围兼容的字符。
YF_API size_t MBCSToUCS2(ucs2_t *, const char *, Encoding=CS_Default)
按指定编码转换 MBCS 字符串为 UCS-2 字符串,返回转换的串长。
YF_API size_t UCS2ToMBCS(char *, const ucs2_t *, Encoding=CS_Default)
按指定编码转换 UCS-2 字符串为 MBCS 字符串,返回转换的串长。
yconstexpr Encoding ISO_10646_UCS_2(csUnicode)
YF_API ConversionResult MBCToUC(ucs2_t &, const char *&, Encoding, ConversionState &&={})
按指定编码和转换状态转换字符串中字符为 UCS-2 字符,返回转换的字节数。
YF_API std::basic_string< ucs2_t > ucsdup(const char *, Encoding=CS_Default)
复制多字节字符串为 UCS-2 字符串。
yconstfn bool IsASCII(_tChar c)
判断整数类型字符在 ASCII 字符取值范围内。
remove_rcv_t< decltype(std::declval< string_type >()[0])> value_type
GSStringTemplate< char >::basic_string string
#define yconstraint
约束:接口语义。
#define yconstfn
指定编译时常量函数。
char16_t ucs2_t
UCS-2 字符类型。
_tDst MakeUCS2LEString(const char *s, Encoding enc=CS_Default)
复制指定编码的多字节字符串为指定类型的 UCS-2 字符串。
char32_t ucs4_t
UCS-4 字符类型。
_tDst GetMBCSOf(const _tSrc &src, Encoding enc=CS_Default)
取 UCS-2 字符串转换的指定编码的多字节字符串。
size_t UCToMBC(char *d, const ucs2_t &s, Encoding enc)
YF_API size_t UCS4ToUCS2(ucs2_t *, const ucs4_t *)
转换 UCS-4 字符串为 UCS-2 字符串,返回转换的串长。
yconstexpr Encoding ISO_10646_UCS_4(csUCS4)