Skip to content

Commit 19d4230

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 64f1ea2 commit 19d4230

File tree

12 files changed

+5823
-8022
lines changed

12 files changed

+5823
-8022
lines changed

lang/cpp11/attributes.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-12-16T07:36:37">
192-
2024年12月16日 07時36分37秒
191+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
192+
2025年04月03日 04時51分18秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Akira Takahashi</span>
196+
<span itemprop="name">yoh</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -222,7 +222,7 @@ <h2>概要</h2>
222222
<p>属性は<code>[[attr]]</code>のように、属性のリストを二重角カッコで囲んで指定する。C++11時点の標準では、以下の2つの属性を定義する:</p>
223223
<ol>
224224
<li><code>[[noreturn]]</code> : 関数が決して返らないことをコンパイラに伝える</li>
225-
<li><code>[[carries_dependency]]</code> : データの依存性を持たせる or 維持する</li>
225+
<li><code>[[carries_dependency]]</code> : データの依存性を持たせる or 維持する (C++26で削除)</li>
226226
</ol>
227227
<h2>仕様</h2>
228228
<ul>
@@ -258,6 +258,8 @@ <h3><a href="#noreturn" id="noreturn"><code>[[noreturn]]</code>属性</a></h3>
258258
<p><code>[[noreturn]]</code>属性を付けて宣言した関数がほかの翻訳単位で<code>[[noreturn]]</code>属性を付けずに宣言された場合、プログラムは<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../implementation-compliance.html#dfn-ill-formed">不適格</a>となる。</p>
259259
<p><code>[[noreturn]]</code>属性を付けた関数が返った場合、その<a class="cpprefjp-defined-word" data-desc="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。" href="../../implementation-compliance.html#dfn-undefined-behavior">動作は未定義</a></p>
260260
<h3><a href="#carries_dependency" id="carries_dependency"><code>[[carries_dependency]]</code>属性</a></h3>
261+
<p>この属性はC++26で削除された。</p>
262+
<p><code><a href="../../reference/atomic/memory_order.html">memory_order_consume</a></code>順序付けを実装したC++処理系は存在せず、本属性の代替機能も提供されない。</p>
261263
<p><code>[[carries_dependency]]</code>は、並行プログラミングのアトミック操作において、値に依存した順序付け <code><a href="../../reference/atomic/memory_order.html">memory_order</a></code>を、関数をまたいで伝播することを明示するための属性である。</p>
262264
<p>以下は、<code><a href="../../reference/atomic/memory_order.html">memory_order_consume</a></code>を使用した順序付けの例である:</p>
263265
<p><div class="codehilite"><pre><span></span><code><span class="n"><a href="../../reference/atomic/atomic.html">atomic</a></span><span class="o">&lt;</span><span class="n">T</span><span class="o">*&gt;</span> <span class="n">x</span> <span class="o">=</span> <span class="err"></span><span class="p">;</span>
@@ -358,6 +360,10 @@ <h2>参照</h2>
358360
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2418.pdf" target="_blank">N2418 Towards support for attributes in C++ (Revision 3)</a></li>
359361
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2643.html" target="_blank">N2643 C++ Data-Dependency Ordering: Function Annotation</a></li>
360362
<li><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf" target="_blank">N2761 Towards support for attributes in C++ (Revision 6) </a></li>
363+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a><ul>
364+
<li>C++26で<code>memory_order::consume</code>非推奨化に伴い<code>carries_dependency</code>属性を削除。</li>
365+
</ul>
366+
</li>
361367
<li><a href="http://d.hatena.ne.jp/yohhoy/20141115/p1" target="_blank">(抄訳)N4215 <code>memory_order_consume</code>の利用と実装に向けて[§5-6のみ]</a></li>
362368
</ul></div>
363369

reference/atomic/atomic/store.html

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

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-12-23T07:58:47">
204-
2024年12月23日 07時58分47秒
203+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
204+
2025年04月03日 04時51分18秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">Akira Takahashi</span>
208+
<span itemprop="name">yoh</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -252,7 +252,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
252252
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
253253
<p><code>order</code>が以下のメモリオーダーではないこと:</p>
254254
<ul>
255-
<li><code><a href="../memory_order.html">memory_order_consume</a></code></li>
255+
<li><code><a href="../memory_order.html">memory_order_consume</a></code> (C++26で非推奨)</li>
256256
<li><code><a href="../memory_order.html">memory_order_acquire</a></code></li>
257257
<li><code><a href="../memory_order.html">memory_order_acq_rel</a></code></li>
258258
</ul>
@@ -306,6 +306,7 @@ <h2>参照</h2>
306306
<li>C++26で<code>constexpr</code>に対応した</li>
307307
</ul>
308308
</li>
309+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a></li>
309310
</ul></div>
310311

311312
</div>

reference/atomic/atomic_flag/clear.html

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

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-12-23T07:58:47">
204-
2024年12月23日 07時58分47秒
203+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
204+
2025年04月03日 04時51分18秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">Akira Takahashi</span>
208+
<span itemprop="name">yoh</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -242,7 +242,7 @@ <h2>概要</h2>
242242
<h2>要件</h2>
243243
<p><code>order</code>が以下のメモリオーダーではないこと:</p>
244244
<ul>
245-
<li><code><a href="../memory_order.html">memory_order_consume</a></code> (C++14)</li>
245+
<li><code><a href="../memory_order.html">memory_order_consume</a></code> (C++26で非推奨)</li>
246246
<li><code><a href="../memory_order.html">memory_order_acquire</a></code></li>
247247
<li><code><a href="../memory_order.html">memory_order_acq_rel</a></code></li>
248248
</ul>
@@ -301,6 +301,7 @@ <h2>参照</h2>
301301
<li>C++26で<code>constexpr</code>に対応した</li>
302302
</ul>
303303
</li>
304+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a></li>
304305
</ul></div>
305306

306307
</div>

reference/atomic/atomic_flag_clear_explicit.html

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

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-12-23T07:58:47">
192-
2024年12月23日 07時58分47秒
191+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
192+
2025年04月03日 04時51分18秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Akira Takahashi</span>
196+
<span itemprop="name">yoh</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -235,7 +235,7 @@ <h2>概要</h2>
235235
<h2>要件</h2>
236236
<p><code>order</code>が以下のメモリオーダーではないこと:</p>
237237
<ul>
238-
<li><code><a href="memory_order.html">memory_order_consume</a></code> (C++14)</li>
238+
<li><code><a href="memory_order.html">memory_order_consume</a></code> (C++26で非推奨)</li>
239239
<li><code><a href="memory_order.html">memory_order_acquire</a></code></li>
240240
<li><code><a href="memory_order.html">memory_order_acq_rel</a></code></li>
241241
</ul>
@@ -294,6 +294,7 @@ <h2>参照</h2>
294294
<li>C++26で<code>constexpr</code>に対応した</li>
295295
</ul>
296296
</li>
297+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a></li>
297298
</ul></div>
298299

299300
</div>

reference/atomic/atomic_ref/store.html

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

201201
<p class="text-right"><small>
202202
最終更新日時(UTC):
203-
<span itemprop="datePublished" content="2024-12-23T07:58:47">
204-
2024年12月23日 07時58分47秒
203+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
204+
2025年04月03日 04時51分18秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">Akira Takahashi</span>
208+
<span itemprop="name">yoh</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -242,7 +242,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
242242
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
243243
<p><code>order</code>が以下のメモリオーダーではないこと:</p>
244244
<ul>
245-
<li><code><a href="../memory_order.html">memory_order_consume</a></code></li>
245+
<li><code><a href="../memory_order.html">memory_order_consume</a></code> (C++26で非推奨)</li>
246246
<li><code><a href="../memory_order.html">memory_order_acquire</a></code></li>
247247
<li><code><a href="../memory_order.html">memory_order_acq_rel</a></code></li>
248248
</ul>
@@ -297,6 +297,7 @@ <h2>参照</h2>
297297
<li>C++26で<code>constexpr</code>に対応した</li>
298298
</ul>
299299
</li>
300+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a></li>
300301
</ul></div>
301302

302303
</div>

reference/atomic/atomic_thread_fence.html

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-12-23T07:58:47">
192-
2024年12月23日 07時58分47秒
191+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
192+
2025年04月03日 04時51分18秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Akira Takahashi</span>
196+
<span itemprop="name">yoh</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -281,10 +281,14 @@ <h2>効果</h2>
281281
<td>何も行わない</td>
282282
</tr>
283283
<tr>
284-
<td><code><a href="memory_order.html">memory_order_acquire</a></code><br /><code><a href="memory_order.html">memory_order_consume</a></code></td>
284+
<td><code><a href="memory_order.html">memory_order_acquire</a></code></td>
285285
<td>acquireフェンス</td>
286286
</tr>
287287
<tr>
288+
<td><code><a href="memory_order.html">memory_order_consume</a></code></td>
289+
<td>acquireフェンス(C++26で非推奨)</td>
290+
</tr>
291+
<tr>
288292
<td><code><a href="memory_order.html">memory_order_release</a></code></td>
289293
<td>releaseフェンス</td>
290294
</tr>
@@ -354,6 +358,7 @@ <h2>参照</h2>
354358
<li>C++26で<code>constexpr</code>に対応した</li>
355359
</ul>
356360
</li>
361+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a></li>
357362
</ul></div>
358363

359364
</div>

reference/atomic/kill_dependency.html

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868

6969
</head>
7070
<body>
71-
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;atomic&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;29f6abc6eaff55af305da4fa35ddbc18fcd92228&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;atomic&gt;\n#include &lt;thread&gt;\n\nstd::atomic&lt;int&gt; a(-1);\nint table[10];\n\nvoid f()\n{\n table[3] = 5;\n table[5] = -1;\n a.store(3, std::memory_order_release);\n}\n\nint main()\n{\n std::thread t1(f);\n\n int r0;\n do {\n r0 = a.load(std::memory_order_consume);\n } while (r0 &lt; 0);\n std::cout &lt;&lt; r0 &lt;&lt; std::endl; // \u6b63\u3057\u304f\u540c\u671f\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u5fc5\u305a\&#34;3\&#34;\u304c\u51fa\u529b\u3055\u308c\u308b\u3002\n\n int r1 = table[r0];\n std::cout &lt;&lt; r1 &lt;&lt; std::endl; // \u6b63\u3057\u304f\u540c\u671f\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u5fc5\u305a\&#34;5\&#34;\u304c\u51fa\u529b\u3055\u308c\u308b\u3002\n\n int r2 = table[r1];\n std::cout &lt;&lt; r2 &lt;&lt; std::endl; // \u6b63\u3057\u304f\u540c\u671f\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u5fc5\u305a\&#34;-1\&#34;\u304c\u51fa\u529b\u3055\u308c\u308b\u3002\n\n int r3 = table[std::kill_dependency(r1)]; // data race. \u672a\u5b9a\u7fa9\u52d5\u4f5c\u3002\n std::cout &lt;&lt; r3 &lt;&lt; std::endl; // \u6700\u9069\u5316\u306a\u3069\u306e\u7d50\u679c\u3001\&#34;-1\&#34;\u4ee5\u5916\u304c\u51fa\u529b\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3002\n\n\n t1.join();\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;atomic&#34;, &#34;kill_dependency&#34;]}">
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;atomic&#34;], &#34;namespace&#34;: [&#34;std&#34;], &#34;id-type&#34;: [&#34;function template&#34;], &#34;cpp&#34;: [&#34;cpp11&#34;, &#34;cpp26deprecated&#34;]}, &#34;sources&#34;: [{&#34;id&#34;: &#34;29f6abc6eaff55af305da4fa35ddbc18fcd92228&#34;, &#34;source&#34;: &#34;#include &lt;iostream&gt;\n#include &lt;atomic&gt;\n#include &lt;thread&gt;\n\nstd::atomic&lt;int&gt; a(-1);\nint table[10];\n\nvoid f()\n{\n table[3] = 5;\n table[5] = -1;\n a.store(3, std::memory_order_release);\n}\n\nint main()\n{\n std::thread t1(f);\n\n int r0;\n do {\n r0 = a.load(std::memory_order_consume);\n } while (r0 &lt; 0);\n std::cout &lt;&lt; r0 &lt;&lt; std::endl; // \u6b63\u3057\u304f\u540c\u671f\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u5fc5\u305a\&#34;3\&#34;\u304c\u51fa\u529b\u3055\u308c\u308b\u3002\n\n int r1 = table[r0];\n std::cout &lt;&lt; r1 &lt;&lt; std::endl; // \u6b63\u3057\u304f\u540c\u671f\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u5fc5\u305a\&#34;5\&#34;\u304c\u51fa\u529b\u3055\u308c\u308b\u3002\n\n int r2 = table[r1];\n std::cout &lt;&lt; r2 &lt;&lt; std::endl; // \u6b63\u3057\u304f\u540c\u671f\u5316\u3055\u308c\u3066\u304a\u308a\u3001\u5fc5\u305a\&#34;-1\&#34;\u304c\u51fa\u529b\u3055\u308c\u308b\u3002\n\n int r3 = table[std::kill_dependency(r1)]; // data race. \u672a\u5b9a\u7fa9\u52d5\u4f5c\u3002\n std::cout &lt;&lt; r3 &lt;&lt; std::endl; // \u6700\u9069\u5316\u306a\u3069\u306e\u7d50\u679c\u3001\&#34;-1\&#34;\u4ee5\u5916\u304c\u51fa\u529b\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3002\n\n\n t1.join();\n}\n&#34;}], &#34;page_id&#34;: [&#34;reference&#34;, &#34;atomic&#34;, &#34;kill_dependency&#34;]}">
7272
<nav class="navbar navbar-default" role="navigation">
7373
<div class="container-fluid">
7474
<div class="navbar-header">
@@ -188,12 +188,12 @@
188188

189189
<p class="text-right"><small>
190190
最終更新日時(UTC):
191-
<span itemprop="datePublished" content="2024-12-23T07:58:47">
192-
2024年12月23日 07時58分47秒
191+
<span itemprop="datePublished" content="2025-04-03T04:51:18">
192+
2025年04月03日 04時51分18秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">Akira Takahashi</span>
196+
<span itemprop="name">yoh</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -212,15 +212,17 @@
212212
<div class="row">
213213
<div class="col-sm-12 content-body">
214214

215-
<div class="identifier-type">function template</div><div class="header">&lt;atomic&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">kill_dependency</span><span class="cpp cpp11" title="C++11で追加">(C++11)</span></h1>
215+
<div class="identifier-type">function template</div><div class="header">&lt;atomic&gt;</div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="token">kill_dependency</span><span class="cpp cpp11" title="C++11で追加">(C++11)</span><span class="cpp cpp26deprecated text-warning" title="C++26で非推奨">(C++26で非推奨)</span></h1>
216216
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">namespace</span> <span class="n">std</span> <span class="p">{</span>
217217
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
218218
<span class="n">T</span> <span class="n">kill_dependency</span><span class="p">(</span><span class="n">T</span> <span class="n">y</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++11</span>
219219
<span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span> <span class="nc">T</span><span class="o">&gt;</span>
220-
<span class="k">constexpr</span> <span class="n">T</span> <span class="n">kill_dependency</span><span class="p">(</span><span class="n">T</span> <span class="n">y</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
220+
<span class="k">constexpr</span> <span class="n">T</span> <span class="n">kill_dependency</span><span class="p">(</span><span class="n">T</span> <span class="n">y</span><span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26(非推奨)</span>
221221
<span class="p">}</span>
222222
</code></pre></div>
223223
</p>
224+
<p>この関数は、C++26で非推奨となった。</p>
225+
<p><code><a href="memory_order.html">memory_order_consume</a></code>順序付けを実装したC++処理系は存在せず、本関数の代替機能も提供されない。</p>
224226
<h2>概要</h2>
225227
<p>データ依存性を切る。</p>
226228
<h2>効果</h2>
@@ -316,6 +318,10 @@ <h2>参照</h2>
316318
<li>C++26で<code>constexpr</code>に対応した</li>
317319
</ul>
318320
</li>
321+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3475r2.pdf" target="_blank">P3475R2 Defang and deprecate memory_order::consume</a><ul>
322+
<li>C++26で<code>memory_order::consume</code>とあわせて<code>kill_dependency</code>関数を非推奨化。</li>
323+
</ul>
324+
</li>
319325
</ul></div>
320326

321327
</div>

0 commit comments

Comments
 (0)