2
2
<feed xmlns =" http://www.w3.org/2005/Atom" >
3
3
<title >cpprefjp - C++日本語リファレンス</title >
4
4
<link href =" https://cpprefjp.github.io" />
5
- <updated >2024-09-18T04:16:29.822147 </updated >
6
- <id >c52d4988-c00c-466b-8f20-c327c5a8ed78 </id >
5
+ <updated >2024-09-18T04:36:21.537713 </updated >
6
+ <id >092167a7-07e0-492e-8ae2-026963ea4c06 </id >
7
7
8
8
9
+ <entry >
10
+ <title >debugging -- fix typo</title >
11
+ <link href =" https://cpprefjp.github.io/reference/debugging.html" />
12
+ <id >964d94ab807c5b935fa0581bd3e6b70a61a1a2fc:reference/debugging.md</id >
13
+ <updated >2024-09-18T13:33:23+09:00</updated >
14
+
15
+ <content type =" html" >< div class=" header">& lt;debugging& gt;< /div>< h1 itemprop=" name">< span class=" token"> debugging< /span>< span class=" cpp cpp26" title=" C++26で追加"> (C++26)< /span>< /h1>
16
+ < div itemprop=" articleBody">< p>< code>& lt;debugging& gt;< /code> ヘッダでは、プログラムのデバッグ実行をサポートする機能を提供する。< /p>
17
+ < table border=" 1" bordercolor=" #888" style=" border-collapse:collapse">
18
+ < thead>
19
+ < tr>
20
+ < th> 名前< /th>
21
+ < th> 説明< /th>
22
+ < th> 対応バージョン< /th>
23
+ < /tr>
24
+ < /thead>
25
+ < tbody>
26
+ < tr>
27
+ < td>< code>< a href=" debugging/breakpoint.html"> breakpoint< /a>< /code>< /td>
28
+ < td> ブレークポイントを設置する (functional)< /td>
29
+ < td> C++26< /td>
30
+ < /tr>
31
+ < tr>
32
+ < td>< code>< a href=" debugging/breakpoint_if_debugging.html"> breakpoint_if_debugging< /a>< /code>< /td>
33
+ < td> デバッガ実行のみブレークポイントを設置する (functional)< /td>
34
+ < td> C++26< /td>
35
+ < /tr>
36
+ < tr>
37
+ < td>< code>< a href=" debugging/is_debugger_present.html"> is_debugger_present< /a>< /code>< /td>
38
+ < td> デバッガ実行中か判定する (functional)< /td>
39
+ < td> C++26< /td>
40
+ < /tr>
41
+ < /tbody>
42
+ < /table>
43
+ < h2> この機能が必要になった背景・経緯< /h2>
44
+ < p> 開発プラットフォームによってデバッガやブレークポイントの機能は提供されているが、本ライブラリのようにプログラム中に明示的にブレークポイントを設置し、プログラムとデバッガを対話させることでデバッグ体験が向上することがある。< /p>
45
+ < p> 実装経験としては以下のようなものがあり、これらをこのライブラリで標準化した:< /p>
46
+ < table border=" 1" bordercolor=" #888" style=" border-collapse:collapse">
47
+ < thead>
48
+ < tr>
49
+ < th> 開発環境< /th>
50
+ < th> 機能< /th>
51
+ < /tr>
52
+ < /thead>
53
+ < tbody>
54
+ < tr>
55
+ < td> Microsoft C/C++ Optimizing Compiler< /td>
56
+ < td>< code> __debugbreak()< /code> 関数 (無条件ブレークポイント)< /td>
57
+ < /tr>
58
+ < tr>
59
+ < td> Win32 API< /td>
60
+ < td>< code> IsDebuggerPresent()< /code> 関数 (デバッガ実行中か判定)< /td>
61
+ < /tr>
62
+ < tr>
63
+ < td> LLVM Clang< /td>
64
+ < td>< code> __builtin_debugtrap()< /code> 組み込み関数 (無条件ブレークポイント)< /td>
65
+ < /tr>
66
+ < tr>
67
+ < td> arm Keil, ARM Compiler< /td>
68
+ < td>< code> __breakpoint()< /code> 関数 (無条件ブレークポイント)< /td>
69
+ < /tr>
70
+ < tr>
71
+ < td> Portable Snippetsライブラリ< /td>
72
+ < td>< code> psnip_trap()< /code> 関数 (無条件ブレークポイント)< /td>
73
+ < /tr>
74
+ < tr>
75
+ < td> Debug Breakライブラリ< /td>
76
+ < td>< code> debug_break()< /code> 関数 (無条件ブレークポイント)< /td>
77
+ < /tr>
78
+ < tr>
79
+ < td> Boost.Testライブラリ< /td>
80
+ < td>< code> debugger_break()< /code> 関数 (無条件ブレークポイント)< br /> < code> under_debugger()< /code> 関数 (出張っg実行中か判定)< /td>
81
+ < /tr>
82
+ < tr>
83
+ < td> EASTLライブラリ< /td>
84
+ < td>< code> EASTL_DEBUG_BREAK()< /code> マクロ (無条件ブレークポイント)< /td>
85
+ < /tr>
86
+ < tr>
87
+ < td> Catch2ライブラリ< /td>
88
+ < td>< code> CATCH_TRAP< /code> マクロ (無条件ブレークポイント)< br /> < code> CATCH_BREAK_INTO_DEBUGGER< /code> マクロ (条件付きブレークポイント)< br /> < code> isDebuggerActive()< /code> 関数 (デバッガ実行中か判定)< /td>
89
+ < /tr>
90
+ < tr>
91
+ < td> JUCEライブラリ< /td>
92
+ < td>< code> JUCE_BREAK_IN_DEBUGGER< /code> マクロ (無条件ブレークポイント)< br /> < code> juce_isRunningUnderDebugger()< /code> 関数、< code> Process::isRunningUnderDebugger()< /code> 関数 (デバッガ実行中か判定)< /td>
93
+ < /tr>
94
+ < tr>
95
+ < td> ImGuiライブラリ< /td>
96
+ < td>< code> IM_DEBUG_BREAK()< /code> マクロ (無条件ブレークポイント)< /td>
97
+ < /tr>
98
+ < tr>
99
+ < td> AWS C SDK< /td>
100
+ < td>< code> aws_debug_break()< /code> 関数 (条件付きブレークポイント)< br /> < code> aws_is_debugger_present()< /code> 関数 (デバッガ実行中か判定)< /td>
101
+ < /tr>
102
+ < tr>
103
+ < td> UnrealEngine< /td>
104
+ < td>< code> UE_DEBUG_BREAK< /code> マクロ (条件付きブレークポイント)< br /> < code> IsDebuggerPresent()< /code> 関数 (デバッガ実行中か判定)< /td>
105
+ < /tr>
106
+ < /tbody>
107
+ < /table>
108
+ < h2> バージョン< /h2>
109
+ < h3> 言語< /h3>
110
+ < ul>
111
+ < li> C++26< /li>
112
+ < /ul>
113
+ < h2> 参照< /h2>
114
+ < ul>
115
+ < li>< a href=" https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2546r5.html" target=" _blank"> P2546R5 Debugging Support< /a>< /li>
116
+ < /ul>< /div> </content >
117
+
118
+ <author >
119
+ <name >Akira Takahashi</name >
120
+
121
+ </author >
122
+ </entry >
123
+
9
124
<entry >
10
125
<title >breakpoint -- < debugging> : コード例が間違ってたのを修正 #1232</title >
11
126
<link href =" https://cpprefjp.github.io/reference/debugging/breakpoint.html" />
@@ -2100,131 +2215,4 @@ index 1c85b3d09..9db8d6c16 100644
2100
2215
</author >
2101
2216
</entry >
2102
2217
2103
- <entry >
2104
- <title >operator== -- optional, tuple, pair, variant : C++26対応としてテンプレートパラメータ制約を整理 #1340</title >
2105
- <link href =" https://cpprefjp.github.io/reference/optional/optional/op_equal.html" />
2106
- <id >fe9f6f74664afc8705138728149c0929539552ac:reference/optional/optional/op_equal.md</id >
2107
- <updated >2024-09-17T18:25:53+09:00</updated >
2108
-
2109
- <summary type =" html" >< pre>< code> diff --git a/reference/optional/optional/op_equal.md b/reference/optional/optional/op_equal.md
2110
- index b9079f2e2..c8161b828 100644
2111
- --- a/reference/optional/optional/op_equal.md
2112
- +++ b/reference/optional/optional/op_equal.md
2113
- @@ -29,8 +29,8 @@ namespace std {
2114
- `optional`オブジェクトの等値比較を行う。
2115
-
2116
-
2117
- -## 要件
2118
- -- (1), (3), (4) : 型`T`が`==`で比較可能であること
2119
- +## テンプレートパラメータ制約
2120
- +- (1), (3), (4) : 型`T`が`==`で比較可能であり、その戻り値型が`bool`に変換可能であること
2121
-
2122
-
2123
- ## 戻り値
2124
- @@ -114,3 +114,5 @@ int main()
2125
- - [LWG Issue 2934. `optional& lt;const T& gt;` doesn& #39;t compare with `T`](https://wg21.cmeerw.net/lwg/issue2934)
2126
- - [P1614R2 The Mothership has Landed](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1614r2.html)
2127
- - C++20での三方比較演算子の追加と、関連する演算子の自動導出
2128
- +- [P2944R3 Comparisons for `reference_wrapper`](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2944r3.html)
2129
- + - C++26でテンプレートパラメータ制約が整理された
2130
- < /code>< /pre> </summary >
2131
-
2132
- <author >
2133
- <name >Akira Takahashi</name >
2134
-
2135
- </author >
2136
- </entry >
2137
-
2138
- <entry >
2139
- <title >operator== -- optional, tuple, pair, variant : C++26対応としてテンプレートパラメータ制約を整理 #1340</title >
2140
- <link href =" https://cpprefjp.github.io/reference/tuple/tuple/op_equal.html" />
2141
- <id >fe9f6f74664afc8705138728149c0929539552ac:reference/tuple/tuple/op_equal.md</id >
2142
- <updated >2024-09-17T18:25:53+09:00</updated >
2143
-
2144
- <summary type =" html" >< pre>< code> diff --git a/reference/tuple/tuple/op_equal.md b/reference/tuple/tuple/op_equal.md
2145
- index 0e28dd8dd..fe541eb2c 100644
2146
- --- a/reference/tuple/tuple/op_equal.md
2147
- +++ b/reference/tuple/tuple/op_equal.md
2148
- @@ -26,7 +26,7 @@ namespace std {
2149
- 2つの[`tuple`](../tuple.md)オブジェクトの等値比較を行う。また、[`tuple-like`](../tuple-like.md)なオブジェクトとの等値比較を行う。(C++23以降)
2150
-
2151
-
2152
- -## 要件
2153
- +## テンプレートパラメータ制約
2154
- - (1) :
2155
- - 2つの[`tuple`](../tuple.md)オブジェクトの要素数が同じであること。(具体的には`sizeof...(TTypes) == sizeof...(UTypes)`であること。)
2156
- - [`tuple`](../tuple.md)の要素`std::`[`get`](get.md)`& lt;i& gt;(t)`と`std::`[`get`](get.md)`& lt;i& gt;(u)`において、すべての要素の比較 `std::`[`get`](get.md)`& lt;i& gt;(t) == std::`[`get`](get.md)`& lt;i& gt;(u)` の比較結果が`bool`に変換可能な型(C++23 以降は[`boolean-testable`](/reference/concepts/boolean-testable.md)を満たせばよい)であること。
2157
- @@ -94,3 +94,5 @@ false
2158
- - [P1614R2 The Mothership has Landed](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1614r2.html)
2159
- - C++20での三方比較演算子の追加と、関連する演算子の自動導出
2160
- - [P2165R4 Compatibility between `tuple`, `pair` and *tuple-like* objects](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2165r4.pdf)
2161
- +- [P2944R3 Comparisons for `reference_wrapper`](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2944r3.html)
2162
- + - C++26でテンプレートパラメータ制約が整理された
2163
- < /code>< /pre> </summary >
2164
-
2165
- <author >
2166
- <name >Akira Takahashi</name >
2167
-
2168
- </author >
2169
- </entry >
2170
-
2171
- <entry >
2172
- <title >operator== -- optional, tuple, pair, variant : C++26対応としてテンプレートパラメータ制約を整理 #1340</title >
2173
- <link href =" https://cpprefjp.github.io/reference/utility/pair/op_equal.html" />
2174
- <id >fe9f6f74664afc8705138728149c0929539552ac:reference/utility/pair/op_equal.md</id >
2175
- <updated >2024-09-17T18:25:53+09:00</updated >
2176
-
2177
- <summary type =" html" >< pre>< code> diff --git a/reference/utility/pair/op_equal.md b/reference/utility/pair/op_equal.md
2178
- index c131b44a0..f4f02ba30 100644
2179
- --- a/reference/utility/pair/op_equal.md
2180
- +++ b/reference/utility/pair/op_equal.md
2181
- @@ -26,6 +26,10 @@ namespace std {
2182
- 2つの`pair`の等値比較を行う
2183
-
2184
-
2185
- +## テンプレートパラメータ制約
2186
- +- 式`x.first == y.first`と`x.second == y.second`が妥当であり、型`decltype(x.first == y.first)`と`decltype(x.second == y.second)`が[boolean-testable](/reference/concepts/boolean-testable.md)のモデルであること
2187
- +
2188
- +
2189
- ## 戻り値
2190
- ```cpp
2191
- return x.first == y.first & amp;& amp; x.second == y.second;
2192
- @@ -65,3 +69,5 @@ false
2193
- - [N3471 Constexpr Library Additions: utilities, v3](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3471.html)
2194
- - [P1614R2 The Mothership has Landed](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1614r2.html)
2195
- - C++20での三方比較演算子の追加と、関連する演算子の自動導出
2196
- +- [P2944R3 Comparisons for `reference_wrapper`](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2944r3.html)
2197
- + - C++26でテンプレートパラメータ制約が整理された
2198
- < /code>< /pre> </summary >
2199
-
2200
- <author >
2201
- <name >Akira Takahashi</name >
2202
-
2203
- </author >
2204
- </entry >
2205
-
2206
- <entry >
2207
- <title >operator== -- optional, tuple, pair, variant : C++26対応としてテンプレートパラメータ制約を整理 #1340</title >
2208
- <link href =" https://cpprefjp.github.io/reference/variant/variant/op_equal.html" />
2209
- <id >fe9f6f74664afc8705138728149c0929539552ac:reference/variant/variant/op_equal.md</id >
2210
- <updated >2024-09-17T18:25:53+09:00</updated >
2211
-
2212
- <summary type =" html" >< pre>< code> diff --git a/reference/variant/variant/op_equal.md b/reference/variant/variant/op_equal.md
2213
- index fb29873a8..de76fd8af 100644
2214
- --- a/reference/variant/variant/op_equal.md
2215
- +++ b/reference/variant/variant/op_equal.md
2216
- @@ -59,3 +59,5 @@ int main()
2217
-
2218
- ## 参照
2219
- - [P0393R3 Making Variant Greater Equal](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0393r3.html)
2220
- +- [P2944R3 Comparisons for `reference_wrapper`](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2944r3.html)
2221
- + - C++26でテンプレートパラメータ制約が整理された
2222
- < /code>< /pre> </summary >
2223
-
2224
- <author >
2225
- <name >Akira Takahashi</name >
2226
-
2227
- </author >
2228
- </entry >
2229
-
2230
2218
</feed >
0 commit comments