YSTest: CharacterProcessing.h 文件参考

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

类 | 命名空间 | 函数
CharacterProcessing.h 文件参考
YFramework Library » CHRLib

字符编码处理。 更多...

`#include "YModules.h"`
`#include <CHRLib/CharacterMapping.h>`
`#include <cstdio>`
`#include <memory>`
CharacterProcessing.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | CHRLib::DispatchTranscoding< Encoding, Encoding >
struct | CHRLib::DispatchTranscoding< CharSet::Null, CharSet::ISO_10646_UCS_2 >
struct | CHRLib::DispatchTranscoding< CharSet::Null, CharSet::ISO_10646_UCS_4 >
struct | CHRLib::DispatchTranscoding< CharSet::ISO_10646_UCS_2, CharSet::Null >
struct | CHRLib::DispatchTranscoding< CharSet::ISO_10646_UCS_2, CharSet::ISO_10646_UCS_4 >
struct | CHRLib::DispatchTranscoding< CharSet::ISO_10646_UCS_4, CharSet::Null >
struct | CHRLib::DispatchTranscoding< CharSet::ISO_10646_UCS_4, CharSet::ISO_10646_UCS_2 >
struct | CHRLib::Transcoding< _vFrom, _vTo, _tDispatcher >
struct | CHRLib::Transcoding< _vFrom, CharSet::Null, _tDispatcher >

## 命名空间

| CHRLib

## 宏定义

#define | CHRLib_Impl_DispatchTranscoding(_vFrom, _vTo, _n)

## 函数

template<typename _tChar >
yconstfn bool | CHRLib::IsASCII (_tChar c)
| 判断整数类型字符在 ASCII 字符取值范围内。 更多...
template<typename _tChar >
yconstfn char | CHRLib::ToASCII (_tChar c)
| 任意整数类型字符转换为 ASCII 取值范围兼容的字符。 更多...
template<class _tDst = std::basic_string<char16_t>>
_tDst | CHRLib::MakeUCS2LE (u16string_view sv, Encoding=CharSet::ISO_10646_UCS_2)
| 构造指定类型的 UCS-2 字符串。 更多...
template<class _tDst = std::basic_string<char32_t>>
_tDst | CHRLib::MakeUCS4LE (u32string_view sv, Encoding=CharSet::ISO_10646_UCS_4)
| 构造指定类型的 UCS-4 字符串。 更多...
template<typename _func >
| CHRLib::YB_NONNULL (2, 3) size_t MBCSToUCS2(_func f
| 按指定编码转换 MBCS 字符串为 UCS-2 字符串。 更多...
template<typename _func >
| CHRLib::YB_NONNULL (2, 3, 4) size_t MBCSToUCS2(_func f
YF_API YB_FLATTEN | CHRLib::YB_NONNULL (1, 2) size_t UCS2ToUCS4(char32_t *
| 转换 UCS-2 字符串为 UCS-4 字符串。 更多...
YF_API YB_FLATTEN | CHRLib::YB_NONNULL (1, 2, 3) size_t MBCSToUCS2(char16_t *
template<typename _func >
YF_API const char16_t *YF_API const char16_t const char16_t * | CHRLib::YB_NONNULL (2, 3) size_t UCS4ToMBCS(_func f
| 按指定编码转换 UCS-4 字符串为 MBCS 字符串。 更多...
template<class _tDst = std::basic_string<char16_t>, typename... _tParams>
_tDst | CHRLib::MakeUCS2LE (basic_string_view< char32_t > sv, _tParams &&...args)
template<class _tDst = std::basic_string<char32_t>, typename... _tParams>
_tDst | CHRLib::MakeUCS4LE (basic_string_view< char > sv, _tParams &&...args)
template<class _tDst = std::basic_string<char32_t>, typename... _tParams>
_tDst | CHRLib::MakeUCS4LE (basic_string_view< char16_t > sv, _tParams &&...args)
template<class _tDst = std::string>
_tDst | CHRLib::MakeMBCS (string_view sv, Encoding enc)
template<class _tDst = std::basic_string<char>, typename... _tParams>
_tDst | CHRLib::MakeMBCS (basic_string_view< char16_t > sv, _tParams &&...args)
template<class _tDst = std::basic_string<char>, typename... _tParams>
_tDst | CHRLib::MakeMBCS (basic_string_view< char32_t > sv, _tParams &&...args)
| CHRLib::c
| CHRLib::enc
std::FILE | CHRLib::Encoding
std::FILE ConversionState | CHRLib::fp
| CHRLib::MBCToUC
const char const char * | CHRLib::e
YF_API ConversionResult | CHRLib::MBCToUC (char16_t &, const char *&, Encoding, ConversionState &&={})
| 按指定编码和转换状态转换字符串中的字符为 UCS-2 字符。 更多...
YF_API ConversionResult | CHRLib::MBCToUC (char16_t &, const char *&, const char *, Encoding, ConversionState &&={})
| CHRLib::PDefH (ConversionResult, MBCToUC, char16_t &uc, const char *&c, Encoding enc, ConversionState &st) ImplRet(MBCToUC(uc
std::FILE ConversionState && | CHRLib::PDefH (ConversionResult, MBCToUC, char16_t &uc, std::FILE *fp, Encoding enc, ConversionState &st) ImplRet(MBCToUC(uc
std::FILE ConversionState ConversionState &&YF_API ConversionResult | CHRLib::MBCToUC (const char *&, const char *, Encoding, ConversionState &&={})
| CHRLib::PDefH (ConversionResult, MBCToUC, const char *&c, Encoding enc, ConversionState &st) ImplRet(MBCToUC(c
const char const char Encoding ConversionState &st | CHRLib::ImplRet (MBCToUC(c, e, enc, std::move(st))) YF_API YB_NONNULL(1) ConversionResult MBCToUC(std
| CHRLib::YB_NONNULL (1) _tDst MakeUCS2LE(const char *s
| 转换指定编码的多字节字符串为指定类型的 UCS-2 字符串。 更多...
std::FILE Encoding ConversionState &st | CHRLib::ImplRet (MBCToUC(fp, enc, std::move(st))) YF_API YB_NONNULL(1) size_t UCToMBC(char *
| 按指定编码转换 UCS-2 字符为字符串表示的多字节字符。 更多...
_tDst * | CHRLib::d = _tDst()
_tDst const _tSrc * | CHRLib::s
template<typename _func , typename _tDst , typename _tSrc >
| CHRLib::YB_NONNULL (2, 3) size_t TranscodeWith(_func f
const auto | CHRLib::p (d)
| CHRLib::f (d, s)
return | CHRLib::size_t (d-p)
template<typename _func , typename _tDst , typename _tSrc >
| CHRLib::YB_NONNULL (2, 3, 4) size_t TranscodeWith(_func f
| CHRLib::f (d, s, e)
#define | CHRLib_Impl_Transcode(_vFrom, _vTo, ...)
#define | CHRLib_Impl_TranscodeView(_vFrom, _vTo, ...)
#define | CHRLib_Impl_MakeTrans(_n, _tSrcChar, _tDstChar, _vFrom, _vTo, _vDeEnc)
_tParams && | CHRLib::args { return Transcoding<CharSet::Null, CharSet::ISO_10646_UCS_2> ::MakeTranscoded<_tDst>(s, yforward(args)...)
template<class _tDst = std::basic_string<char16_t>, typename... _tParams>
_tDst | CHRLib::MakeUCS2LE (basic_string_view< char > sv, _tParams &&...args)

## 详细描述

字符编码处理。

版本
  r2221

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 565

创建时间:
  2009-11-17 17:52:35 +0800

修改时间:
  2015-10-12 14:30 +0800

文本编码:
  UTF-8

模块名称:
  CHRLib::CharacterProcessing

在文件 CharacterProcessing.h 中定义.

## 宏定义说明

#define CHRLib_Impl_DispatchTranscoding | ( |  | _vFrom,
|  |  | _vTo,
|  |  | _n
| ) |  |

值:
template<> \
struct DispatchTranscoding<CharSet::_vFrom, CharSet::_vTo> \
{ \
template<typename... _tParams> \
static size_t \
Transcode(_tParams&&... args) \
{ \
return _n(yforward(args)...); \
} \
};
yforward
#define yforward(_expr)
根据参数类型使用 std::forward 传递对应参数。
Definition: ydef.h:969
CHRLib::args
_tParams && args
Definition: CharacterProcessing.h:538

在文件 CharacterProcessing.h 第 385 行定义.

#define CHRLib_Impl_MakeTrans | ( |  | _n,
|  |  | _tSrcChar,
|  |  | _tDstChar,
|  |  | _vFrom,
|  |  | _vTo,
|  |  | _vDeEnc
| ) |  |

值:
template<class _tDst = std::basic_string<_tDstChar>, typename... _tParams> \
YB_NONNULL(1) _tDst \
Make##_n(const _tSrcChar* s, _tParams&&... args) \
{ \
CHRLib_Impl_Transcode(_vFrom, _vTo, s, yforward(args)...); \
} \
template<class _tDst = std::basic_string<_tDstChar>, typename... _tParams> \
_tDst \
Make##_n(basic_string_view<_tSrcChar> sv, _tParams&&... args) \
{ \
CHRLib_Impl_TranscodeView(_vFrom, _vTo, sv, yforward(args)...); \
}
platform_ex::Windows::RegistryKey::YB_NONNULL
#define YB_NONNULL(...)
取注册表字符串值。

在文件 CharacterProcessing.h 第 523 行定义.

#define CHRLib_Impl_Transcode | ( |  | _vFrom,
|  |  | _vTo,
|  |  | ...
| ) |  |

值:
return Transcoding<CharSet::_vFrom, CharSet::_vTo> \
::MakeTranscoded<_tDst>(__VA_ARGS__);

前置条件
  输入字符串的每个字符不超过 `sizeof(ucsint_t)` 字节。
  断言：指针参数非空。

自从
  build 645

在文件 CharacterProcessing.h 第 517 行定义.

#define CHRLib_Impl_TranscodeView | ( |  | _vFrom,
|  |  | _vTo,
|  |  | ...
| ) |  |

值:
return Transcoding<CharSet::_vFrom, CharSet::_vTo> \
::MakeViewTranscoded<_tDst>(__VA_ARGS__);

在文件 CharacterProcessing.h 第 520 行定义.