Skip to content

Commit ff0882b

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 1f99f73 commit ff0882b

30 files changed

+2627
-172
lines changed

lang/cpp26.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@
176176

177177
<p class="text-right"><small>
178178
最終更新日時(UTC):
179-
<span itemprop="datePublished" content="2024-12-20T16:09:11">
180-
2024年12月20日 16時09分11秒
179+
<span itemprop="datePublished" content="2024-12-21T00:39:21">
180+
2024年12月21日 00時39分21秒
181181
</span>
182182
<br/>
183183
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
184-
<span itemprop="name">K10-K10</span>
184+
<span itemprop="name">Akira Takahashi</span>
185185
</span>
186186
が更新
187187
</small></p>
@@ -585,7 +585,8 @@ <h3>並行・並列・非同期処理</h3>
585585
<li><code><a href="../reference/execution.html">&lt;execution&gt;</a></code>に汎用的な非同期実行を管理するフレームワークを追加</li>
586586
<li><code><a href="../reference/atomic/atomic.html">std::atomic</a></code>オブジェクトに対する2つの値の最大値・最小値を取得する関数として、メンバ関数<code><span href="https://cpprefjp.github.io/reference/atomic/atomic/fetch_max.md.nolink">fetch_max()</span></code><code><span href="https://cpprefjp.github.io/reference/atomic/atomic/fetch_min.md.nolink">fetch_min()</span></code>、非メンバ関数として<code><span href="https://cpprefjp.github.io/reference/atomic/atomic_fetch_max.md.nolink">std::atomic_fetch_max</span></code><code><span href="https://cpprefjp.github.io/reference/atomic/atomic_fetch_max_explicit.md.nolink">std::atomic_fetch_max_explicit</span></code><code><span href="https://cpprefjp.github.io/reference/atomic/atomic_fetch_min.md.nolink">std::atomic_fetch_min</span></code><code><span href="https://cpprefjp.github.io/reference/atomic/atomic_fetch_min_explicit.md.nolink">std::atomic_fetch_min_explicit</span></code>を追加</li>
587587
<li><code><a href="../reference/atomic/atomic_ref.html">std::atomic_ref</a></code>クラスに、参照するオブジェクトのアドレスを取得する<code><span href="https://cpprefjp.github.io/reference/atomic/atomic_ref/address.md.nolink">address()</span></code>メンバ関数を追加</li>
588-
<li><code><a href="../reference/atomic/atomic.html">std::atomic</a></code>クラスと<code><a href="../reference/atomic/atomic_ref.html">std::atomic_ref</a></code>クラスのテンプレートパラメータとして、<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>された型を受け取れるようにした (内部で<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>が外される)</li>
588+
<li><code><a href="../reference/atomic/atomic.html">std::atomic</a></code>クラスのテンプレートパラメータとして<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>された型を禁止</li>
589+
<li><code><a href="../reference/atomic/atomic_ref.html">std::atomic_ref</a></code>クラスのテンプレートパラメータとして、<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>された型を受け取れるようにした (内部で<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>が外される)</li>
589590
<li><code><a href="../reference/atomic.html">&lt;atomic&gt;</a></code>ライブラリのアトミック操作を<code>constexpr</code>対応</li>
590591
</ul>
591592
<h3>スマートポインタ</h3>

reference/atomic/atomic.html

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
192-
2024年06月11日 13時45分38秒
191+
<span itemprop="datePublished" content="2024-12-21T00:39:21">
192+
2024年12月21日 00時39分21秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -237,10 +237,21 @@ <h2>概要</h2>
237237
<h2><a class="cpprefjp-defined-word" data-desc="関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
238238
<ul>
239239
<li><code>T</code><a href="../concepts/copy_constructible.html">コピー構築可能</a>かつ<a href="../type_traits/is_copy_assignable.html">コピー代入可能</a>であること</li>
240-
<li><code><a href="../type_traits/is_trivially_copyable.html">is_trivially_copyable_v</a>&lt;T&gt; &amp;&amp; <a href="../type_traits/is_copy_constructible.html">is_copy_constructible_v</a>&lt;T&gt; &amp;&amp; <a href="../type_traits/is_move_constructible.html">is_move_constructible_v</a>&lt;T&gt; &amp;&amp; <a href="../type_traits/is_copy_assignable.html">is_copy_assignable_v</a>&lt;T&gt; &amp;&amp; <a href="../type_traits/is_move_assignable.html">is_move_assignable_v</a>&lt;T&gt;</code><code>false</code>である場合、プログラムは<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる<ul>
240+
<li>以下のいずれかが<code>false</code>である場合、プログラムは<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる:<ul>
241+
<li><code><a href="../type_traits/is_trivially_copyable.html">is_trivially_copyable_v</a>&lt;T&gt;</code><ul>
241242
<li>簡潔に言うと、<code>memcpy()</code>可能な型であること</li>
242243
</ul>
243244
</li>
245+
<li><code><a href="../type_traits/is_copy_constructible.html">is_copy_constructible_v</a>&lt;T&gt;</code></li>
246+
<li><code><a href="../type_traits/is_move_constructible.html">is_move_constructible_v</a>&lt;T&gt;</code></li>
247+
<li><code><a href="../type_traits/is_copy_assignable.html">is_copy_assignable_v</a>&lt;T&gt;</code></li>
248+
<li><code><a href="../type_traits/is_move_assignable.html">is_move_assignable_v</a>&lt;T&gt;</code></li>
249+
<li>C++26: <code><a href="../concepts/same_as.html">same_as</a>&lt;T, <a href="../type_traits/remove_cv.html">remove_cv_t</a>&lt;T&gt;&gt;</code><ul>
250+
<li><a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>された<code>T</code>は許可しない</li>
251+
</ul>
252+
</li>
253+
</ul>
254+
</li>
244255
</ul>
245256
<h2>別名型</h2>
246257
<p>特殊化された整数型および<code>bool</code>型には、それぞれ<code>atomic_T</code>という型の別名が提供される。</p>
@@ -957,6 +968,10 @@ <h3>参照</h3>
957968
<li>C++23で<a class="cpprefjp-defined-word" data-desc="&lt;stdfloat&gt;で定義される内部表現の規定された浮動小数点数型" href="../stdfloat.html">拡張浮動小数点数型</a>もテンプレート引数として指定することが許可された</li>
958969
</ul>
959970
</li>
971+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3323r1.html" target="_blank">P3323R1 cv-qualified types in <code>atomic</code> and <code>atomic_ref</code></a><ul>
972+
<li>C++26で<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>されたテンプレートパラメータが明確に禁止された</li>
973+
</ul>
974+
</li>
960975
</ul></div>
961976

962977
</div>

reference/atomic/atomic_ref.html

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
192-
2024年06月11日 13時45分38秒
191+
<span itemprop="datePublished" content="2024-12-21T00:39:21">
192+
2024年12月21日 00時39分21秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -230,16 +230,18 @@ <h2>概要</h2>
230230
<p><code>atomic_ref</code>クラステンプレートは型<code>T</code>の値をコピーではなく参照で保持するため、<code>atomic_ref</code>オブジェクトより先に参照先の変数の寿命が尽きてはならない。</p>
231231
<ul>
232232
<li>(1) : プライマリテンプレート。宣言のみ</li>
233-
<li>(2) : 整数型に対する特殊化</li>
234-
<li>(3) : (<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>されていない) 浮動小数点数型に対する特殊化<ul>
233+
<li>(2) : 整数型に対する特殊化 (<code>bool</code>以外)</li>
234+
<li>(3) : 浮動小数点数型に対する特殊化<ul>
235235
<li>(C++23) : <a class="cpprefjp-defined-word" data-desc="&lt;stdfloat&gt;で定義される内部表現の規定された浮動小数点数型" href="../stdfloat.html">拡張浮動小数点数型</a>を含む</li>
236236
</ul>
237237
</li>
238238
<li>(4) : 任意の型のポインタに対する特殊化</li>
239239
</ul>
240+
<p>C++26から、これらの特殊化は<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>された型に対しても行われるようになった。</p>
240241
<h2><a class="cpprefjp-defined-word" data-desc="関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
241242
<ul>
242243
<li><code>T</code><code><a href="../type_traits/is_trivially_copyable.html">is_trivially_copyable_v</a>&lt;T&gt; == true</code>であること</li>
244+
<li>C++26: <code>is_always_lock_free</code><code>false</code>かつ<code><a href="../type_traits/is_volatile.html">is_volatile_v</a></code><code>true</code>である場合、プログラムは<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる</li>
243245
</ul>
244246
<h2>メンバ関数</h2>
245247
<h3>共通メンバ関数</h3>
@@ -284,8 +286,13 @@ <h3>共通メンバ関数</h3>
284286
</tr>
285287
<tr>
286288
<td><code><a href="atomic_ref/op_t.html">operator T</a></code></td>
287-
<td>型Tへの変換演算子</td>
288-
<td>C++20</td>
289+
<td><code>T</code>への変換演算子</td>
290+
<td>C++20 (C++26で<code>value_type</code>に変更)</td>
291+
</tr>
292+
<tr>
293+
<td><code><a href="atomic_ref/op_value_type.html">operator value_type</a></code></td>
294+
<td><code>value_type</code>への変換演算子</td>
295+
<td>C++26</td>
289296
</tr>
290297
<tr>
291298
<td><code><a href="atomic_ref/exchange.html">exchange</a></code></td>
@@ -331,7 +338,7 @@ <h3>共通メンバ型</h3>
331338
<tbody>
332339
<tr>
333340
<td><code>value_type</code></td>
334-
<td>要素型となるテンプレートパラメータの型<code>T</code></td>
341+
<td>要素型となるテンプレートパラメータの型<br /> C++20: <code>T</code><br /> C++26: <code><a href="../type_traits/remove_cv.html">remove_cv_t</a>&lt;T&gt;</code></td>
335342
<td>C++20</td>
336343
</tr>
337344
</tbody>
@@ -613,6 +620,10 @@ <h3>参照</h3>
613620
<li>C++23で<a class="cpprefjp-defined-word" data-desc="&lt;stdfloat&gt;で定義される内部表現の規定された浮動小数点数型" href="../stdfloat.html">拡張浮動小数点数型</a>もテンプレート引数として指定することが許可された</li>
614621
</ul>
615622
</li>
623+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3323r1.html" target="_blank">P3323R1 cv-qualified types in <code>atomic</code> and <code>atomic_ref</code></a><ul>
624+
<li>C++26で<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>されたテンプレート引数を受け取れるようになった</li>
625+
</ul>
626+
</li>
616627
</ul></div>
617628

618629
</div>

reference/atomic/atomic_ref/compare_exchange_strong.html

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
200200

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-06-11T13:45:38">
204-
2024年06月11日 13時45分38秒
203+
<span itemprop="datePublished" content="2024-12-21T00:39:21">
204+
2024年12月21日 00時39分21秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -225,16 +225,29 @@
225225
<div class="col-sm-12 content-body">
226226

227227
<div class="identifier-type">function</div><div class="header">&lt;atomic&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="class" title="class atomic_ref">atomic_ref::</span><span class="token">compare_exchange_strong</span><span class="cpp cpp20" title="C++20で追加">(C++20)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="kt">bool</span> <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&amp;</span> <span class="n">expected</span><span class="p">,</span>
229-
<span class="n">T</span> <span class="n">desired</span><span class="p">,</span>
230-
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">success</span><span class="p">,</span>
231-
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">failure</span>
232-
<span class="p">)</span> <span class="k">const</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1)</span>
233-
234-
<span class="kt">bool</span> <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&amp;</span> <span class="n">expected</span><span class="p">,</span>
235-
<span class="n">T</span> <span class="n">desired</span><span class="p">,</span>
236-
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">order</span> <span class="o">=</span> <span class="n"><a href="../memory_order.html">memory_order_seq_cst</a></span>
237-
<span class="p">)</span> <span class="k">const</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2)</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="kt">bool</span>
229+
<span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&amp;</span> <span class="n">expected</span><span class="p">,</span>
230+
<span class="n">T</span> <span class="n">desired</span><span class="p">,</span>
231+
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">success</span><span class="p">,</span>
232+
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">failure</span>
233+
<span class="p">)</span> <span class="k">const</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++20</span>
234+
<span class="kt">bool</span>
235+
<span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">value_type</span><span class="o">&amp;</span> <span class="n">expected</span><span class="p">,</span>
236+
<span class="n">value_type</span> <span class="n">desired</span><span class="p">,</span>
237+
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">success</span><span class="p">,</span>
238+
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">failure</span>
239+
<span class="p">)</span> <span class="k">const</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
240+
241+
<span class="kt">bool</span>
242+
<span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&amp;</span> <span class="n">expected</span><span class="p">,</span>
243+
<span class="n">T</span> <span class="n">desired</span><span class="p">,</span>
244+
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">order</span> <span class="o">=</span> <span class="n"><a href="../memory_order.html">memory_order_seq_cst</a></span>
245+
<span class="p">)</span> <span class="k">const</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++20</span>
246+
<span class="kt">bool</span>
247+
<span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">value_type</span><span class="o">&amp;</span> <span class="n">expected</span><span class="p">,</span>
248+
<span class="n">value_type</span> <span class="n">desired</span><span class="p">,</span>
249+
<span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">order</span> <span class="o">=</span> <span class="n"><a href="../memory_order.html">memory_order_seq_cst</a></span>
250+
<span class="p">)</span> <span class="k">const</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++26</span>
238251
</code></pre></div>
239252
</p>
240253
<h2>概要</h2>
@@ -243,7 +256,11 @@ <h2>概要</h2>
243256
<li>(1) : 現在の値と<code>expected</code>が等値である場合に、<code>success</code>メモリオーダーで現在の値を<code>desired</code>で置き換え、そうでなければ<code>failure</code>メモリオーダーで<code>expected</code>を現在の値で置き換える</li>
244257
<li>(2) : 現在の値と<code>expected</code>が等値である場合に、現在の値を<code>desired</code>で置き換え、そうでなければ<code>expected</code>を現在の値で置き換える。どちらの値置き換えの場合でも<code>order</code>メモリオーダーが使用される</li>
245258
</ul>
246-
<h2>要件</h2>
259+
<h2><a class="cpprefjp-defined-word" data-desc="関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
260+
<ul>
261+
<li>C++26 : <code><a href="../../type_traits/is_const.html">is_const_v</a>&lt;T&gt;</code><code>false</code>であること</li>
262+
</ul>
263+
<h2>事前条件</h2>
247264
<ul>
248265
<li><code>failure</code><code><a href="../memory_order.html">memory_order_release</a></code>, <code><a href="../memory_order.html">memory_order_acq_rel</a></code>ではないこと</li>
249266
</ul>
@@ -350,6 +367,13 @@ <h3>処理系</h3>
350367
<li><a href="../../../implementation.html#clang">Clang</a>: 9.0 <span aria-label="未実装" role="img" title="未実装"></span></li>
351368
<li><a href="../../../implementation.html#gcc">GCC</a>: 10.1 <span aria-label="検証済" role="img" title="検証済"></span></li>
352369
<li><a href="../../../implementation.html#visual_cpp">Visual C++</a>: ??</li>
370+
</ul>
371+
<h2>参照</h2>
372+
<ul>
373+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3323r1.html" target="_blank">P3323R1 cv-qualified types in <code>atomic</code> and <code>atomic_ref</code></a><ul>
374+
<li>C++26で<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>されたテンプレート引数を受け取れるようになった</li>
375+
</ul>
376+
</li>
353377
</ul></div>
354378

355379
</div>

0 commit comments

Comments
 (0)