名前空間
変種
操作

std::wbuffer_convert

提供: cppreference.com
< cpp‎ | locale
 
 
 
 
ヘッダ <locale> で定義
template<class Codecvt,

         class Elem = wchar_t,
         class Tr = std::char_traits<Elem> >

class wbuffer_convert : public std::basic_streambuf<Elem, Tr>
(C++11およびそれ以降)
(C++17で非推奨)

std::wbuffer_convertstd::basic_streambuf<char> 型のストリームバッファに std::basic_streambuf<Elem> の外見を与えるラッパーです。 std::wbuffer_convert を通して行われるすべての入出力は Codecvt ファセットによって定義される文字変換に通されます。 std::wbuffer_convert は変換ファセットの所有権を仮定します。 ロケールによって管理されているファセットは使用できません。 std::wbuffer_convert での使用に適した標準のファセットは、 UTF-8/UCS2 および UTF-8/UCS4 の変換に対しては std::codecvt_utf8、 UTF-8/UTF-16 の変換に対しては std::codecvt_utf8_utf16 です。

このクラステンプレートは std::basic_filebuf の暗黙の文字変換機能を任意の std::basic_streambuf に対して利用できるようにします。

[編集] メンバ型

メンバ型 定義
state_type Codecvt::state_type

[編集] メンバ関数

新しい wbuffer_convert を構築します
(パブリックメンバ関数) [edit]
operator=
コピー代入演算子は削除されています
(パブリックメンバ関数)
wbuffer_convert とその変換ファセットを破棄します
(パブリックメンバ関数) [edit]
ベースとなるナローストリームバッファを取得または置き換えます
(パブリックメンバ関数) [edit]
現在の変換状態を返します
(パブリックメンバ関数) [edit]

[編集] 関連項目

文字変換 ロケール定義のマルチバイト
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb(C11のDR488あり) codecvt<char16_t, char, mbstate_t>
codecvt_utf8_utf16<char16_t>
codecvt_utf8_utf16<char32_t>
codecvt_utf8_utf16<wchar_t>
N/A
UCS2 c16rtomb(C11のDR488なし) codecvt_utf8<char16_t>

codecvt_utf8<wchar_t>(Windows)

codecvt_utf16<char16_t>

codecvt_utf16<wchar_t>(Windows)

UTF-32

mbrtoc32 / c32rtomb

codecvt<char32_t, char, mbstate_t>
codecvt_utf8<char32_t>
codecvt_utf8<wchar_t>(Windows以外)

codecvt_utf16<char32_t>
codecvt_utf16<wchar_t>(Windows以外)

システム全体:
UTF-32(Windows以外)
UCS2(Windows)

mbsrtowcs / wcsrtombs
use_facet<codecvt
<wchar_t, char, mbstate_t>>(locale)

No No
(C++11)(C++17で非推奨)
ワイド文字列とバイト文字列の間で変換を行います
(クラステンプレート) [edit]
(C++11)(C++17で非推奨)
UTF-8 と UCS2/UCS4 の間で変換を行います
(クラステンプレート) [edit]
(C++11)(C++17で非推奨)
UTF-8 と UTF-16 の間で変換を行います
(クラステンプレート) [edit]