wstring_convert クラス
クラス テンプレート wstring_convert
は、ワイド文字列とバイト文字列の間の変換を実行します。
構文
template <class Codecvt, class Elem = wchar_t>
class wstring_convert
パラメーター
Codecvt
変換オブジェクトを表すロケール ファセット。
Elem
ワイド文字要素型。
解説
このクラス テンプレートは、クラス std::basic_string<Elem>
のワイド文字列オブジェクトとクラス std::basic_string<char>
(std::string
とも呼ばれます) のバイト文字列オブジェクトの間の変換を制御するオブジェクトを表します。 このクラス テンプレートは、wide_string
型と byte_string
型をこれら 2 つの型のシノニムとして定義します。 Elem
値のシーケンス (wide_string
オブジェクトに格納) とマルチバイト シーケンス (byte_string
オブジェクトに格納) の間の変換は、クラス Codecvt<Elem, char, std::mbstate_t>
のオブジェクトによって実行されます。このことは、標準コード変換ファセット std::codecvt<Elem, char, std::mbstate_t>
の要件を満たしています。
このクラス テンプレートのオブジェクトは、以下のものを格納します。
エラーに表示するバイト文字列
エラーに表示するワイド文字列
割り当てられた変換オブジェクトへのポインター (wbuffer_convert オブジェクトが破棄されると解放される)
型 state_type の変換状態オブジェクト。
変換の数
コンストラクター
コンストラクター | 説明 |
---|---|
wstring_convert | wstring_convert 型のオブジェクトを構築します。 |
Typedefs
型名 | 説明 |
---|---|
byte_string | バイト文字列を表す型。 |
wide_string | ワイド文字列を表す型。 |
state_type | 変換状態を表す型。 |
int_type | 整数を表す型。 |
メンバー関数
メンバー関数 | 説明 |
---|---|
from_bytes | バイト文字列をワイド文字列に変換します。 |
to_bytes | ワイド文字列をバイト文字列に変換します。 |
converted | 成功した変換の数を返します。 |
state | 変換の状態を表すオブジェクトを返します。 |
要件
ヘッダー: <locale>
名前空間: std
wstring_convert::byte_string
バイト文字列を表す型。
typedef std::basic_string<char> byte_string;
解説
型は、std::basic_string<char>
の同意語。
wstring_convert::converted
成功した変換の数を返します。
size_t converted() const;
戻り値
成功した変換の数。
解説
成功した変換の数は、変換数オブジェクトに格納されます。
wstring_convert::from_bytes
バイト文字列をワイド文字列に変換します。
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);
パラメーター
Byte
変換される単一の要素のバイト シーケンス。
ptr
文字が null で終わり、変換の対象となる C スタイルのシーケンス。
Bstr
変換される byte_string。
first
変換の対象となる一定範囲の文字のうち、最初の文字。
last
変換の対象となる一定範囲の文字のうち、最後の文字。
戻り値
変換により作成されるワイド文字列オブジェクト。
解説
変換状態オブジェクトは、明示的な値を使用して構築されていない場合、変換を開始する前に既定値 (最初の変換状態) に設定されます。 それ以外の場合は変更されません。
正常に変換された入力要素の数が変換数オブジェクトに格納されます。 変換エラーが発生しなかった場合、メンバー関数は、変換されたワイド文字列を返します。 エラーが発生した場合、ワイド文字列エラー メッセージの初期化子を使用してオブジェクトが構築されていれば、メンバー関数は、ワイド文字列エラー メッセージ オブジェクトを返します。 それ以外の場合、メンバー関数は、クラス 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);
パラメーター
Char
変換されるワイド文字。
Wptr
変換される C スタイル、wptr
から始まり、null で終わるシーケンス。
Wstr
変換される wide_string。
first
変換される要素範囲の最初の要素。
last
変換される要素範囲の最後の要素。
解説
変換状態オブジェクトは、明示的な値を使用して構築されていない場合、変換を開始する前に既定値 (最初の変換状態) に設定されます。 それ以外の場合は変更されません。
正常に変換された入力要素の数が変換数オブジェクトに格納されます。 変換エラーが発生しなかった場合、メンバー関数は、変換されたバイト文字列を返します。 エラーが発生した場合、バイト文字列エラー メッセージの初期化子を使用してオブジェクトが構築されていれば、メンバー関数は、バイト文字列エラー メッセージ オブジェクトを返します。 それ以外の場合、メンバー関数は、クラス 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。
Werr
エラーに表示される wide_string。
解説
1 つめのコンストラクターは、Pcvt_arg を変換オブジェクトに格納します。