std::wbuffer_convert
| ヘッダー <locale> で定義 |
||
| template< class Codecvt, |
(C++11以降) (C++17で非推奨) (C++26で削除) |
|
std::wbuffer_convert は、std::basic_streambuf<char> 型のストリームバッファをラップし、std::basic_streambuf<Elem> として見せるものです。std::wbuffer_convert を通じて行われるすべての I/O は、Codecvt ファセットによって定義された文字変換を経由します。std::wbuffer_convert は変換ファセットの所有権を主張し、ロケールによって管理されるファセットを使用することはできません。
std::wbuffer_convert と共に使用するのに適した標準ファセットは、UTF-8/UCS-2 および UTF-8/UCS-4 変換のための std::codecvt_utf8 と、UTF-8/UTF-16 変換のための std::codecvt_utf8_utf16 です。
このクラステンプレートは、std::basic_filebuf の暗黙的な文字変換機能を、任意の std::basic_streambuf で利用可能にします。
目次 |
[編集] メンバー型
| 型 | 定義 |
state_type
|
Codecvt::state_type |
[編集] データメンバー
| メンバ | 説明 |
std::streambuf* bufptr |
基となるバイトストリームバッファへのポインタ (説明用のメンバオブジェクト*) |
Codecvt* cvtptr |
割り当てられた変換オブジェクトへのポインタ (説明用のメンバオブジェクト*) |
state_type cvtstate |
変換状態オブジェクト (説明用のメンバオブジェクト*) |
[編集] メンバ関数
新しい wbuffer_convert を構築します。(public member function) | |
| operator= |
コピー代入演算子は削除されている (public member function) |
wbuffer_convert とその変換ファセットを破棄します。(public member function) | |
| 基となるナロー(narrow)ストリームバッファを返します。または、置き換えます。 (public member function) | |
| 現在の変換状態を返す (public member function) |
[編集] 関連項目
| 文字 変換を適用できる |
ロケール定義のマルチバイト (UTF-8, GB18030) |
UTF-8 |
UTF-16 |
|---|---|---|---|
| UTF-16 | mbrtoc16 / c16rtomb (C11 の DR488 を使用) |
codecvt<char16_t,char,mbstate_t> |
N/A |
| UCS-2 | c16rtomb (C11 の DR488 を使用しない場合) | codecvt_utf8<char16_t> | codecvt_utf16<char16_t> |
| UTF-32 |
codecvt<char32_t,char,mbstate_t> |
codecvt_utf16<char32_t> | |
| システム wchar_t UTF-32 (Windows 以外) |
mbsrtowcs / wcsrtombs |
codecvt_utf8<wchar_t> | codecvt_utf16<wchar_t> |
| (C++11)(C++17で非推奨)(C++26で削除) |
ワイド文字列とバイト文字列間の変換を実行する (クラステンプレート) |
| (C++11)(C++17で非推奨)(C++26で削除) |
UTF-8とUCS-2/UCS-4の間で変換を行う (クラステンプレート) |
| (C++11)(C++17で非推奨)(C++26で削除) |
UTF-8とUTF-16の間で変換を行う (クラステンプレート) |