最終更新日時(UTC): 2024年08月09日 03時46分09秒
Akira Takahashi が更新

履歴 編集

class template
<locale>

# std::wbuffer_convert(C++11)(C++17で非推奨)(C++26で削除)

    namespace std {
      template <class Codecvt,
                class Elem = wchar_t,
                class Tr = std::char_traits<Elem> >
      class wbuffer_convert : public std::basic_streambuf<Elem, Tr>;
    }

## 概要

(ここに、クラスの概要を記載する)

## 非推奨・削除の詳細

Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。

仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。

Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`とそれに関連する機能の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする。

標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。

### メンバ関数

名前 | 説明
--- | ---
`(constructor)` | コンストラクタ
`rdbuf` | ストリームバッファのリダイレクト
`state` | 変換の状態を取得する

### メンバ型

名前 | 説明
--- | ---
`state_type` | ストリームのマルチバイト文字の変換の状態を表す型 `Codecvt::state_type`

### 例

### 出力

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.0 ✅, 3.1 ✅, 3.2 ✅, 3.3 ✅, 3.4 ✅
- GCC:
- ICC:
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅

## 参照

- N2007 Proposed Library Additions for Code Conversion
- P0618R0 Deprecating `<codecvt>`
- P2872R3 Remove `wstring_convert` From C++26