File tree 11 files changed +37
-20
lines changed
11 files changed +37
-20
lines changed Original file line number Diff line number Diff line change @@ -332,7 +332,7 @@ C++26とは、2026年中に改訂される予定の、C++バージョンの通
332
332
333
333
### 機能の削除
334
334
- C++98から非推奨となっていた` <strstream> ` ライブラリを削除
335
- - C++17から非推奨となっていたUnicode変換ライブラリ[ ` <codecvt> ` ] ( /reference/codecvt.md ) と[ ` std::wstring_convert ` ] ( /reference/locale/wstring_convert.md ) を削除
335
+ - C++17から非推奨となっていたUnicode変換ライブラリ[ ` <codecvt> ` ] ( /reference/codecvt.md ) と、 [ ` std::wstring_convert ` ] ( /reference/locale/wstring_convert.md ) クラス、 [ ` std::wbuffer_convert ` ] ( /reference/locale/wbuffer_convert.md ) クラスを削除
336
336
- C++20から非推奨となっていた、[ ` std::basic_string ` ] ( /reference/string/basic_string.md ) ` :: ` [ ` reserve() ` ] ( /reference/string/basic_string/reserve.md ) のパラメータなしのオーバーロードを削除
337
337
- C++20から非推奨となっていた[ ` std::shared_ptr ` ] ( /reference/memory/shared_ptr.md ) に対する、以下の古いアトミック操作関数のオーバーロードを削除
338
338
- [ ` std::atomic_is_lock_free ` ] ( /reference/memory/shared_ptr/atomic_is_lock_free.md )
Original file line number Diff line number Diff line change 30
30
| ` isgraph ` | 図形文字の判定(function) | |
31
31
| [ ` toupper ` ] ( locale/toupper.md ) | 英大文字への変換(function) | |
32
32
| [ ` tolower ` ] ( locale/tolower.md ) | 英子文字への変換(function) | |
33
- | [ ` wstring_convert ` ] ( locale/wstring_convert.md ) | ` codecvt ` による文字列変換(class template) | C++11<br /> C++17から非推奨 |
34
- | [ ` wbuffer_convert ` ] ( locale/wbuffer_convert.md ) | ` codecvt ` によるストリームバッファ変換(class template) | C++11<br /> C++17から非推奨 |
33
+ | [ ` wstring_convert ` ] ( locale/wstring_convert.md ) | ` codecvt ` による文字列変換(class template) | C++11<br /> C++17から非推奨< br /> C++26で削除 |
34
+ | [ ` wbuffer_convert ` ] ( locale/wbuffer_convert.md ) | ` codecvt ` によるストリームバッファ変換(class template) | C++11<br /> C++17から非推奨< br /> C++26で削除 |
35
35
| [ ` ctype_base ` ] ( locale/ctype_base.md ) | 文字分類のための基底クラス(class) | |
36
36
| [ ` ctype ` ] ( locale/ctype.md ) | 文字の分類(class template) | |
37
37
| [ ` ctype_byname ` ] ( locale/ctype_byname.md ) | 名前による文字の分類(class template) | |
Original file line number Diff line number Diff line change 4
4
* class template[ meta id-type]
5
5
* cpp11[ meta cpp]
6
6
* cpp17deprecated[ meta cpp]
7
+ * cpp26removed[ meta cpp]
7
8
8
9
``` cpp
9
10
namespace std {
@@ -19,12 +20,12 @@ namespace std {
19
20
(ここに、クラスの概要を記載する)
20
21
21
22
22
- ## 非推奨の詳細
23
+ ## 非推奨・削除の詳細
23
24
Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。
24
25
25
26
仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。
26
27
27
- Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、[`<codecvt>`](/reference/codecvt.md)とそれに関連する機能の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨とする 。
28
+ Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、[`<codecvt>`](/reference/codecvt.md)とそれに関連する機能の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする 。
28
29
29
30
標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。
30
31
@@ -65,3 +66,4 @@ Unicode以外のShift_JISやBig5といった文字コードの利用が急激に
65
66
## 参照
66
67
- [ N2007 Proposed Library Additions for Code Conversion] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2007.html )
67
68
- [ P0618R0 Deprecating ` <codecvt> ` ] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html )
69
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 4
4
* class template[ meta id-type]
5
5
* cpp11[ meta cpp]
6
6
* cpp17deprecated[ meta cpp]
7
+ * cpp26removed[ meta cpp]
7
8
8
9
``` cpp
9
10
namespace std {
@@ -44,12 +45,12 @@ namespace std {
44
45
[utf8]: /reference/codecvt/codecvt_utf8.md
45
46
46
47
47
- ## 非推奨の詳細
48
+ ## 非推奨・削除の詳細
48
49
Unicodeの文字コード変換を行うこれらのクラスは、不正なコードポイントに対する安全なエラー処理の方法を提供していなかったため、セキュリティ上の欠陥があった。
49
50
50
51
仕様もあいまいであったため、不正なコードポイントに対してどのように振る舞うかも不明であった。
51
52
52
- Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、[`<codecvt>`](/reference/codecvt.md)とそれに関連する機能の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨とする 。
53
+ Unicode以外のShift_JISやBig5といった文字コードの利用が急激に減少している。標準ライブラリでの現代的なUnicodeの変換機能は非常に必要とされているが、[`<codecvt>`](/reference/codecvt.md)とそれに関連する機能の設計はお粗末なものだった。将来より良いものを作るために、これらの機能は非推奨・削除とする 。
53
54
54
55
標準ライブラリにUnicodeの文字コード変換をする代替機能はないため、他の専門特化した文字コード変換のライブラリを使用すること。
55
56
@@ -121,3 +122,4 @@ int main()
121
122
## 参照
122
123
- [ N2007 Proposed Library Additions for Code Conversion] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2007.html )
123
124
- [ P0618R0 Deprecating ` <codecvt> ` ] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0618r0.html )
125
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
std::size_t converted () const ; // C++11
11
12
std::size_t converted () const noexcept ; // C++14
12
13
```
13
14
14
- このクラスはC++17から非推奨となった 。
15
+ このクラスはC++17から非推奨となり、C++26で削除された 。
15
16
16
17
## 概要
17
18
変換した要素数を取得する。
@@ -75,4 +76,4 @@ int main()
75
76
76
77
## 参照
77
78
- [ LWG Issue 2174. ` wstring_convert::converted() ` should be ` noexcept ` ] ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2174 )
78
-
79
+ - [ P2872R3 Remove ` wstring_convert ` From C++26 ] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
wide_string from_bytes (char byte); // (1)
@@ -14,7 +15,7 @@ wide_string from_bytes(const char* first,
14
15
const char* last); // (4)
15
16
```
16
17
17
- このクラスはC++17から非推奨となった 。
18
+ このクラスはC++17から非推奨となり、C++26で削除された 。
18
19
19
20
## 概要
20
21
バイト文字列からワイド文字列に変換する。
@@ -107,3 +108,5 @@ int main()
107
108
- [ Visual C++] ( /implementation.md#visual_cpp ) : 2010 [ mark verified] , 2012 [ mark verified] , 2013 [ mark verified]
108
109
109
110
111
+ ## 参照
112
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
wstring_convert& operator =(const wstring_convert&) = default ; // C++11
11
12
wstring_convert& operator =(const wstring_convert&) = delete ; // C++14
12
13
```
13
14
14
- このクラスはC++17から非推奨となった 。
15
+ このクラスはC++17から非推奨となり、C++26で削除された 。
15
16
16
17
## 概要
17
18
コピー代入演算子。
@@ -21,4 +22,4 @@ wstring_convert& operator=(const wstring_convert&) = delete; // C++14
21
22
22
23
## 参照
23
24
- [ LWG Issue 2176. Special members for ` wstring_convert ` and ` wbuffer_convert ` ] ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2176 )
24
-
25
+ - [ P2872R3 Remove ` wstring_convert ` From C++26 ] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
wstring_convert (Codecvt* pcvt = new Codecvt); // (1) C++11
@@ -25,7 +26,7 @@ explicit wstring_convert(
25
26
wstring_convert(const wstring_convert&) = delete; // (5) C++14
26
27
```
27
28
28
- このクラスはC++17から非推奨となった 。
29
+ このクラスはC++17から非推奨となり、C++26で削除された 。
29
30
30
31
## 概要
31
32
- (1) : デフォルトコンストラクタ。
@@ -101,4 +102,5 @@ int main()
101
102
## 参照
102
103
- [ LWG Issue 2175. ` wstring_convert ` and ` wbuffer_convert ` validity] ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2175 )
103
104
- [ LWG Issue 2176. Special members for ` wstring_convert ` and ` wbuffer_convert ` ] ( http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2176 )
104
- - [ P0935R0 Eradicating unnecessarily explicit default constructors from the standard library] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0935r0.html )
105
+ - [ P0935R0 Eradicating unnecessarily explicit default constructors from the standard library] ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0935r0.html )
106
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
~wstring_convert ();
11
12
```
12
13
13
- このクラスはC++17から非推奨となった 。
14
+ このクラスはC++17から非推奨となり、C++26で削除された 。
14
15
15
16
## 概要
16
17
` Codecvt ` 型のインスタンスを破棄する。
26
27
- [ ICC] ( /implementation.md#icc ) :
27
28
- [ Visual C++] ( /implementation.md#visual_cpp ) : 2010 [ mark verified] , 2012 [ mark verified] , 2013 [ mark verified]
28
29
29
-
30
+ ## 参照
31
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
state_type state () const ;
11
12
```
12
13
13
- このクラスはC++17から非推奨となった 。
14
+ このクラスはC++17から非推奨となり、C++26で削除された 。
14
15
15
16
## 概要
16
17
変換の状態を取得する。
@@ -73,4 +74,5 @@ converted all
73
74
- [ ICC] ( /implementation.md#icc ) :
74
75
- [ Visual C++] ( /implementation.md#visual_cpp ) : 2010 [ mark verified] , 2012 [ mark verified] , 2013 [ mark verified]
75
76
76
-
77
+ ## 参照
78
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
Original file line number Diff line number Diff line change 5
5
* function[ meta id-type]
6
6
* cpp11[ meta cpp]
7
7
* cpp17deprecated[ meta cpp]
8
+ * cpp26removed[ meta cpp]
8
9
9
10
``` cpp
10
11
byte_string to_bytes (Elem wchar); // (1)
@@ -14,7 +15,7 @@ byte_string to_bytes(const Elem* first,
14
15
const Elem* last); // (4)
15
16
```
16
17
17
- このクラスはC++17から非推奨となった 。
18
+ このクラスはC++17から非推奨となり、C++26で削除された 。
18
19
19
20
## 概要
20
21
ワイド文字列からバイト文字列に変換する。
@@ -106,4 +107,5 @@ int main()
106
107
- [ ICC] ( /implementation.md#icc ) :
107
108
- [ Visual C++] ( /implementation.md#visual_cpp ) : 2010 [ mark verified] , 2012 [ mark verified] , 2013 [ mark verified]
108
109
109
-
110
+ ## 参照
111
+ - [ P2872R3 Remove ` wstring_convert ` From C++26] ( https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2872r3.pdf )
You can’t perform that action at this time.
0 commit comments