Namespaces
Variants

std:: wbuffer_convert

From cppreference.net
ヘッダーで定義 <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で非推奨)
(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)
基盤となるナロウストリームバッファを返す、または置き換える
(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 >
codecvt_utf8_utf16 < char16_t >
codecvt_utf8_utf16 < char32_t >
codecvt_utf8_utf16 < wchar_t >

該当なし
UCS-2 c16rtomb (C11のDR488なし) codecvt_utf8 < char16_t > codecvt_utf16 < char16_t >
UTF-32

mbrtoc32 / c32rtomb

codecvt < char32_t , char ,mbstate_t >
codecvt_utf8 < char32_t >

codecvt_utf16 < char32_t >

システム wchar_t :

UTF-32 (非Windows)
UCS-2 (Windows)

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

codecvt_utf8 < wchar_t > codecvt_utf16 < wchar_t >
(C++11) (deprecated in C++17) (removed in C++26)
ワイド文字列とバイト文字列の間の変換を実行する
(クラステンプレート)
(C++11) (deprecated in C++17) (removed in C++26)
UTF-8とUCS-2/UCS-4の間で変換する
(クラステンプレート)
(C++11) (deprecated in C++17) (removed in C++26)
UTF-8とUTF-16の間で変換する
(クラステンプレート)