Skip to content

Commit a9398ec

Browse files
Preview PR 1535: d28b143261aa4e
1 parent ea72afc commit a9398ec

25 files changed

Lines changed: 1276 additions & 415 deletions

gen/pull/1535/PREVIEW.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# PR [\#1535](https://github.com/cpprefjp/site/pull/1535) プレビュー
2-
- ⌚ 更新時刻: 2025-10-09 11:29:49 JST
2+
- ⌚ 更新時刻: 2025-10-09 16:04:32 JST
33
- 🔍 [プレビュー (HTML)](https://cpprefjp.github.io/site/gen/pull/1535)
44
- 📈 [プレビュー生成記録](https://github.com/cpprefjp/site/actions?query=event%3Apull_request_target+branch%3Aatomic_reduction)
5-
- **⫯** ソースの変更: [`261aa4e..0f11dfc`](https://github.com/cpprefjp/site/compare/261aa4ea914d3b0e3368954303e27c94ad616c57..0f11dfc1e3b949c0bf94fe438ca7bea1f11c759f)
5+
- **⫯** ソースの変更: [`261aa4e..d28b143`](https://github.com/cpprefjp/site/compare/261aa4ea914d3b0e3368954303e27c94ad616c57..d28b14327d20759a554d98899d8b7bfb6235c1eb)
66

77
## 変更記事一覧 (31件)
88

gen/pull/1535/reference/atomic/atomic/store_add.html

Lines changed: 11 additions & 6 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="2025-10-09T02:24:59">
204-
2025年10月09日 02時24分59秒
203+
<span itemprop="datePublished" content="2025-10-09T06:59:45">
204+
2025年10月09日 06時59分45秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -225,18 +225,23 @@
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">atomic::</span><span class="token">store_add</span><span class="cpp cpp26" title="C++26で追加">(C++26)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">constexpr</span> <span class="kt">void</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="kt">void</span>
229229
<span class="nf">store_add</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
230230
<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>
231-
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
231+
<span class="p">)</span> <span class="k">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
232+
233+
<span class="k">constexpr</span> <span class="kt">void</span>
234+
<span class="nf">store_add</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
235+
<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>
236+
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++26</span>
232237
</code></pre></div>
233238
</p>
234239
<h2>概要</h2>
235240
<p>値を読み込まずに加算を行う。</p>
236-
<p>この関数は、<code><a href="fetch_add.html">fetch_add()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。この関数はロックフリーに動作することが保証されているため、並列アルゴリズムで<code><a href="../../execution/execution/execution_policy.html">par_useq</a></code>ポリシーを使う場合などに有用である。</p>
241+
<p>この関数は、<code><a href="fetch_add.html">fetch_add()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。</p>
237242
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
238243
<ul>
239-
<li><code>atomic&lt;T&gt;::is_always_lock_free</code><code>true</code>であること</li>
244+
<li>(1) : <code>atomic&lt;T&gt;::is_always_lock_free</code><code>true</code>であること</li>
240245
</ul>
241246
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
242247
<ul>

gen/pull/1535/reference/atomic/atomic/store_and.html

Lines changed: 11 additions & 6 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="2025-10-09T02:24:59">
204-
2025年10月09日 02時24分59秒
203+
<span itemprop="datePublished" content="2025-10-09T06:59:45">
204+
2025年10月09日 06時59分45秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -225,18 +225,23 @@
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">atomic::</span><span class="token">store_and</span><span class="cpp cpp26" title="C++26で追加">(C++26)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">constexpr</span> <span class="kt">void</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="kt">void</span>
229229
<span class="nf">store_and</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
230230
<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>
231-
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
231+
<span class="p">)</span> <span class="k">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
232+
233+
<span class="k">constexpr</span> <span class="kt">void</span>
234+
<span class="nf">store_and</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
235+
<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>
236+
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++26</span>
232237
</code></pre></div>
233238
</p>
234239
<h2>概要</h2>
235240
<p>値を読み込まずにAND演算を行う。</p>
236-
<p>この関数は、<code><a href="fetch_and.html">fetch_and()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。この関数はロックフリーに動作することが保証されているため、並列アルゴリズムで<code><a href="../../execution/execution/execution_policy.html">par_useq</a></code>ポリシーを使う場合などに有用である。</p>
241+
<p>この関数は、<code><a href="fetch_and.html">fetch_and()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。</p>
237242
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
238243
<ul>
239-
<li><code>atomic&lt;T&gt;::is_always_lock_free</code><code>true</code>であること</li>
244+
<li>(1) : <code>atomic&lt;T&gt;::is_always_lock_free</code><code>true</code>であること</li>
240245
</ul>
241246
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
242247
<ul>

gen/pull/1535/reference/atomic/atomic/store_fmaximum.html

Lines changed: 24 additions & 5 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="2025-10-09T02:24:59">
204-
2025年10月09日 02時24分59秒
203+
<span itemprop="datePublished" content="2025-10-09T06:59:45">
204+
2025年10月09日 06時59分45秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -225,16 +225,35 @@
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">atomic::</span><span class="token">store_fmaximum</span><span class="cpp cpp26" title="C++26で追加">(C++26)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">constexpr</span> <span class="kt">void</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="kt">void</span>
229229
<span class="nf">store_fmaximum</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
230230
<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>
231-
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
231+
<span class="p">)</span> <span class="k">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
232+
233+
<span class="k">constexpr</span> <span class="kt">void</span>
234+
<span class="nf">store_fmaximum</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
235+
<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>
236+
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++26</span>
232237
</code></pre></div>
233238
</p>
234239
<h2>概要</h2>
235240
<p>値を読み込まずに最大値を設定する。</p>
236241
<p>この関数は、<code>*this</code>が保持する値と<code>operand</code>の大きい方を求め、その値を<code>this</code>に保持させる。</p>
237-
<p>この関数は、<code><a href="fetch_fmaximum.html">fetch_fmaximum()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。この関数はロックフリーに動作することが保証されているため、並列アルゴリズムで<code><a href="../../execution/execution/execution_policy.html">par_useq</a></code>ポリシーを使う場合などに有用である。</p>
242+
<p>この関数は、<code><a href="fetch_fmaximum.html">fetch_fmaximum()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。</p>
243+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
244+
<ul>
245+
<li><code>std::atomic&lt;T*&gt;</code>の場合、型<code>T</code>がオブジェクト型であること。型<code>T</code><code>void*</code>や関数ポインタであってはならない</li>
246+
<li>(1) : <code>atomic&lt;T&gt;::is_always_lock_free</code><code>true</code>であること</li>
247+
</ul>
248+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
249+
<ul>
250+
<li><code>order</code>は、以下のいずれかであること<ul>
251+
<li><code><a href="../memory_order.html">memory_order_relaxed</a></code></li>
252+
<li><code><a href="../memory_order.html">memory_order_release</a></code></li>
253+
<li><code><a href="../memory_order.html">memory_order_seq_cst</a></code></li>
254+
</ul>
255+
</li>
256+
</ul>
238257
<h2>効果</h2>
239258
<p><code>order</code>で指定されたメモリオーダーにしたがって、<code>*this</code>が保持する値と<code>operand</code>の最大値を求めて、その値でアトミックに置き換える</p>
240259
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>

gen/pull/1535/reference/atomic/atomic/store_fmaximum_num.html

Lines changed: 24 additions & 5 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="2025-10-09T02:24:59">
204-
2025年10月09日 02時24分59秒
203+
<span itemprop="datePublished" content="2025-10-09T06:59:45">
204+
2025年10月09日 06時59分45秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -225,16 +225,35 @@
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">atomic::</span><span class="token">store_fmaximum_num</span><span class="cpp cpp26" title="C++26で追加">(C++26)</span></h1>
228-
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="k">constexpr</span> <span class="kt">void</span>
228+
<div itemprop="articleBody"><p><div class="codehilite"><pre><span></span><code><span class="kt">void</span>
229229
<span class="nf">store_fmaximum_num</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
230230
<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>
231-
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
231+
<span class="p">)</span> <span class="k">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++26</span>
232+
233+
<span class="k">constexpr</span> <span class="kt">void</span>
234+
<span class="nf">store_fmaximum_num</span><span class="p">(</span><span class="n">difference_type</span> <span class="n">operand</span><span class="p">,</span>
235+
<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>
236+
<span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++26</span>
232237
</code></pre></div>
233238
</p>
234239
<h2>概要</h2>
235240
<p>値を読み込まずに最大値を設定する。</p>
236241
<p>この関数は、<code>*this</code>が保持する値と<code>operand</code>の大きい方を求め、その値を<code>this</code>に保持させる。</p>
237-
<p>この関数は、<code><a href="fetch_fmaximum_num.html">fetch_fmaximum_num()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。この関数はロックフリーに動作することが保証されているため、並列アルゴリズムで<code><a href="../../execution/execution/execution_policy.html">par_useq</a></code>ポリシーを使う場合などに有用である。</p>
242+
<p>この関数は、<code><a href="fetch_fmaximum_num.html">fetch_fmaximum_num()</a></code>と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は<a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>として取得できない。</p>
243+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
244+
<ul>
245+
<li><code>std::atomic&lt;T*&gt;</code>の場合、型<code>T</code>がオブジェクト型であること。型<code>T</code><code>void*</code>や関数ポインタであってはならない</li>
246+
<li>(1) : <code>atomic&lt;T&gt;::is_always_lock_free</code><code>true</code>であること</li>
247+
</ul>
248+
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a></h2>
249+
<ul>
250+
<li><code>order</code>は、以下のいずれかであること<ul>
251+
<li><code><a href="../memory_order.html">memory_order_relaxed</a></code></li>
252+
<li><code><a href="../memory_order.html">memory_order_release</a></code></li>
253+
<li><code><a href="../memory_order.html">memory_order_seq_cst</a></code></li>
254+
</ul>
255+
</li>
256+
</ul>
238257
<h2>効果</h2>
239258
<p><code>order</code>で指定されたメモリオーダーにしたがって、<code>*this</code>が保持する値と<code>operand</code>の最大値を求めて、その値でアトミックに置き換える</p>
240259
<h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a></h2>

0 commit comments

Comments
 (0)