宽字符元素类型。
类模板描述一个对象,该对象用于控制类
std::basic_string<Elem>
的宽字符串对象和类
std::basic_string<char>
(也称为
std::string
)的字节字符串对象之间的转换。 类模板将类型
wide_string
和
byte_string
定义为这两种类型的同义词。 一个
Elem
值序列(存储在
wide_string
对象中)和多字节序列(存储在
byte_string
对象中)之间的转换由类
Codecvt<Elem, char, std::mbstate_t>
的对象执行,这符合标准代码转换方面
std::codecvt<Elem, char, std::mbstate_t>
的要求。
此类模板的对象会存储:
发生错误时显示的字节字符串
发生错误时显示的宽字符串
指向分配的转换对象(在销毁 wbuffer_convert 对象时释放)的指针
state_type
类型的转换状态对象
wide_string from_bytes(char Byte);
wide_string from_bytes(const char* ptr);
wide_string from_bytes(const byte_string& Bstr);
wide_string from_bytes(const char* first, const char* last);
要转换的单元素字节序列。
要转换的以 null 结尾的 C 样式字符序列。
要转换的 byte_string。
first
要转换的字符范围中的第一个字符。
要转换的字符范围中的最后一个字符。
由转换生成的宽字符串对象。
如果转换状态对象不是使用显式值构造,请在转换开始之前将它设置为其默认值(初始转换状态)。 否则保持不变。
成功转换的输入元素的数量存储在转换计数对象中。 如果未发生转换错误,则该成员函数返回转换后的宽字符串。 否则,如果对象是使用宽字符串错误消息的初始值设定项构造的,则该成员函数返回宽字符串错误消息对象。 否则,成员函数将引发 range_error 类的对象。
wstring_convert::int_type
表示整数的类型。
typedef typename wide_string::traits_type::int_type int_type;
该类型是 wide_string::traits_type::int_type
的同义词。
wstring_convert::state
返回表示转换状态的对象。
state_type state() const;
转换状态对象,表示转换的状态。
wstring_convert::state_type
表示转换状态的类型。
typedef typename Codecvt::state_type state_type;
此类型描述一个可以表示转换状态的对象。 该类型是 Codecvt::state_type
的同义词。
wstring_convert::to_bytes
将宽字符串转换为字节字符串。
byte_string to_bytes(Elem Char);
byte_string to_bytes(const Elem* Wptr);
byte_string to_bytes(const wide_string& Wstr);
byte_string to_bytes(const Elem* first, const Elem* last);
要转换的宽字符。
要转换的以 null 结尾的 C 样式序列(从 wptr
开始)。
要转换的 wide_string。
first
要转换的元素范围内的第一个元素。
要转换的元素范围内的最后一个元素。
如果转换状态对象不是使用显式值构造,请在转换开始之前将它设置为其默认值(初始转换状态)。 否则保持不变。
成功转换的输入元素的数量存储在转换计数对象中。 如果未发生转换错误,则成员函数返回转换后的字节字符串。 否则,如果对象是使用字节字符串错误消息的初始值设定项构造的,则成员函数返回字节字符串错误消息对象。 否则,成员函数将引发 range_error 类的对象。
wstring_convert::wide_string
表示宽字符串的类型。
typedef std::basic_string<Elem> wide_string;
该类型是 std::basic_string<Elem>
的同义词。
wstring_convert::wstring_convert
构造 wstring_convert
类型的对象。
wstring_convert(Codecvt *Pcvt = new Codecvt);
wstring_convert(Codecvt *Pcvt, state_type _State);
wstring_convert(const byte_string& _Berr, const wide_string& Werr = wide_string());
*Pcvt
用于执行转换的 Codecvt
类型的对象。
_State
表示转换状态的 state_type 类型的对象。
_Berr
用于在发生错误时显示的 byte_string。
用于在发生错误时显示的 wide_string。
第一个构造函数将存储转换对象中的 Pcvt_arg