Skip to content

Commit

Permalink
C++26対応として<codecvt>ライブラリを削除 (close #1243)
Browse files Browse the repository at this point in the history
  • Loading branch information
faithandbrave committed Jan 23, 2024
1 parent 06c0c00 commit 52a8ab1
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 10 deletions.
6 changes: 4 additions & 2 deletions reference/codecvt.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* codecvt[meta header]
* cpp11[meta cpp]
* cpp17deprecated[meta cpp]
* cpp26removed[meta cpp]

`<codecvt>`ヘッダでは、文字コード変換のためのファセットクラスを定義する。

Expand All @@ -13,12 +14,12 @@
| [`codecvt_utf8_utf16`](codecvt/codecvt_utf8_utf16.md) | UTF-8とUTF-16間での文字コード変換(class template) | C++11<br/>C++17から非推奨 |


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

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

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

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

Expand All @@ -30,3 +31,4 @@ Unicode以外のShift_JISやBig5といった文字コードの利用は急激に

## 参照
- [P0618R0 Deprecating `<codecvt>`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html)
- [P2871R3 Remove Deprecated Unicode Conversion Facets from C++26](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2871r3.pdf)
6 changes: 4 additions & 2 deletions reference/codecvt/codecvt_mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* enum[meta id-type]
* cpp11[meta cpp]
* cpp17deprecated[meta cpp]
* cpp26removed[meta cpp]

```cpp
namespace std {
Expand Down Expand Up @@ -31,12 +32,12 @@ namespace std {
- [`codecvt_utf8_utf16`](codecvt_utf8_utf16.md)
## 非推奨の詳細
## 非推奨・削除の詳細
Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。
仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨とする
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする
標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。
Expand All @@ -53,3 +54,4 @@ Unicode以外のShift_JISやBig5といった文字コードの利用が急激に
## 参照
- [P0618R0 Deprecating `<codecvt>`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html)
- [P2871R3 Remove Deprecated Unicode Conversion Facets from C++26](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2871r3.pdf)
6 changes: 4 additions & 2 deletions reference/codecvt/codecvt_utf16.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* class template[meta id-type]
* cpp11[meta cpp]
* cpp17deprecated[meta cpp]
* cpp26removed[meta cpp]

```cpp
namespace std {
Expand All @@ -26,12 +27,12 @@ UTF-16との変換を行うファセットクラス。`char`列と`Elem`列と
BOMの有無やエンディアンなどを[`codecvt_mode`](codecvt_mode.md)で指定できる。
## 非推奨の詳細
## 非推奨・削除の詳細
Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。
仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨とする
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする
標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。
Expand Down Expand Up @@ -92,3 +93,4 @@ int main()
## 参照
- [N2401 Code Conversion Facets for the Standard C++ Library](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2401.htm)
- [P0618R0 Deprecating `<codecvt>`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html)
- [P2871R3 Remove Deprecated Unicode Conversion Facets from C++26](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2871r3.pdf)
6 changes: 4 additions & 2 deletions reference/codecvt/codecvt_utf8.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* class template[meta id-type]
* cpp11[meta cpp]
* cpp17deprecated[meta cpp]
* cpp26removed[meta cpp]

```cpp
namespace std {
Expand All @@ -26,12 +27,12 @@ UTF-8との変換を行うファセットクラス。`char`列と`Elem`列との
BOMの有無を[`codecvt_mode`](codecvt_mode.md)で指定できる。
## 非推奨の詳細
## 非推奨・削除の詳細
Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。
仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨とする
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする
標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。
Expand Down Expand Up @@ -92,3 +93,4 @@ int main()
## 参照
- [N2401 Code Conversion Facets for the Standard C++ Library](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2401.htm)
- [P0618R0 Deprecating `<codecvt>`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html)
- [P2871R3 Remove Deprecated Unicode Conversion Facets from C++26](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2871r3.pdf)
6 changes: 4 additions & 2 deletions reference/codecvt/codecvt_utf8_utf16.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* class template[meta id-type]
* cpp11[meta cpp]
* cpp17deprecated[meta cpp]
* cpp26removed[meta cpp]

```cpp
namespace std {
Expand All @@ -26,12 +27,12 @@ UTF-8とUTF-16との変換を行うファセットクラス。`char`列と`Elem`
UTF-8文字列におけるBOMの有無を[`codecvt_mode`](codecvt_mode.md)で指定できる。
## 非推奨の詳細
## 非推奨・削除の詳細
Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。
仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨とする
Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、`<codecvt>`の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする
標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。
Expand Down Expand Up @@ -92,3 +93,4 @@ int main()
## 参照
- [N2401 Code Conversion Facets for the Standard C++ Library](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2401.htm)
- [P0618R0 Deprecating `<codecvt>`](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html)
- [P2871R3 Remove Deprecated Unicode Conversion Facets from C++26](https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2871r3.pdf)

0 comments on commit 52a8ab1

Please sign in to comment.