wstring_convert Class
The latest version of this topic can be found at wstring_convert Class.
The template class wstring_convert
performs conversions between a wide string and a byte string.
Syntax
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
Parameters
Codecvt
The locale facet that represents the conversion object.
Elem
The wide-character element type.
Remarks
The template class describes an object that controls conversions between wide string objects of class std::basic_string<Elem>
and byte string objects of class std::basic_string<char>
(also known as std::string
). The template class defines the types wide_string
and byte_string
as synonyms for these two types. Conversion between a sequence of Elem
values (stored in a wide_string
object) and multibyte sequences (stored in a byte_string
object) is performed by an object of class Codecvt<Elem, char, std::mbstate_t>
, which meets the requirements of the standard code-conversion facet std::codecvt<Elem, char, std::mbstate_t>
.
An object of this template class stores:
A byte string to display on errors
A wide string to display on errors
A pointer to the allocated conversion object (which is freed when the wbuffer_convert object is destroyed)
A conversion state object of type state_type
A conversion count
Constructors
wstring_convert | Constructs an object of type wstring_convert . |
Typedefs
byte_string | A type that represents a byte string. |
wide_string | A type that represents a wide string. |
state_type | A type that represents the conversion state. |
int_type | A type that represents an integer. |
Member Functions
from_bytes | Converts a byte string to a wide string. |
to_bytes | Converts a wide string to a byte string. |
converted | Returns the number of successful conversions. |
state | Returns an object representing the state of the conversion. |
Requirements
Header: <locale>
Namespace: std
wstring_convert::byte_string
A type that represents a byte string.
typedef std::basic_string<char> byte_string;
Remarks
The type is a synonym for std::basic_string<char>
.
wstring_convert::converted
Returns the number of successful conversions.
size_t converted() const;
Return Value
The number of successful conversions.
Remarks
The number of successful conversions is stored in the conversion count object.
wstring_convert::from_bytes
Converts a byte string to a wide string.
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);
Parameters
Parameter | Description |
---|---|
_Byte |
The single-element byte sequence to be converted. |
ptr |
The C-style, null-terminated sequence of characters to be converted. |
_Bstr |
The byte_string to be converted. |
first |
The first character in a range of characters to be converted. |
last |
The last character in a range of characters to be converted. |
Return Value
A wide string object resulting from the conversion.
Remarks
If the conversion state object was not
constructed with an explicit value, it is set to its default value (the initial conversion state) before the conversion begins. Otherwise it is left unchanged.
The number of input elements successfully converted is stored in the conversion count object. If no conversion error occurs, the member function returns the converted wide string. Otherwise, if the object was constructed with an initializer for the wide-string error message, the member function returns the wide-string error message object. Otherwise, the member function throws an object of class range_error.
wstring_convert::int_type
A type that represents an integer.
typedef typename wide_string::traits_type::int_type int_type;
Remarks
The type is a synonym for wide_string::traits_type::int_type
.
wstring_convert::state
Returns an object representing the state of the conversion.
state_type state() const;
Return Value
The conversion state object that represents the state of the conversion.
Remarks
wstring_convert::state_type
A type that represents the conversion state.
typedef typename Codecvt::state_type state_type;
Remarks
The type describes an object that can represent a conversion state. The type is a synonym for Codecvt::state_type
.
wstring_convert::to_bytes
Converts a wide string to a byte string.
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);
Parameters
Parameter | Description |
---|---|
_Char |
The wide character to be converted. |
_Wptr |
The C-style, null-terminated sequence, beginning at wptr , to be converted. |
_Wstr |
The wide_string to be converted. |
first |
The first element in a range of elements to be converted. |
last |
The last element in a range of elements to be converted. |
Remarks
If the conversion state object was not
constructed with an explicit value, it is set to its default value (the initial conversion state) before the conversion begins. Otherwise it is left unchanged.
The number of input elements successfully converted is stored in the conversion count object. If no conversion error occurs, the member function returns the converted byte string. Otherwise, if the object was constructed with an initializer for the byte-string error message, the member function returns the byte-string error message object. Otherwise, the member function throws an object of class range_error.
wstring_convert::wide_string
A type that represents a wide string.
typedef std::basic_string<_Elem> wide_string;
Remarks
The type is a synonym for std::basic_string<_Elem>
.
wstring_convert::wstring_convert
Constructs an object of type 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());
Parameters
Parameter | Description |
---|---|
*_Pcvt |
The object of type Codecvt to perform the conversion. |
_State |
The object of type state_type representing the conversion state. |
_Berr |
The byte_string to display on errors. |
_Werr |
The wide_string to display on errors. |
Remarks
The first constructor stores _Pcvt_arg in the conversion object