|
200 | 200 |
|
201 | 201 | <p class="text-right"><small>
|
202 | 202 | 最終更新日時(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-23T07:58:47"> |
| 204 | + 2024年12月23日 07時58分47秒 |
205 | 205 | </span>
|
206 | 206 | <br/>
|
207 | 207 | <span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
|
225 | 225 | <div class="col-sm-12 content-body">
|
226 | 226 |
|
227 | 227 | <div class="identifier-type">function</div><div class="header"><atomic></div><h1 itemprop="name"><span class="namespace" title="namespace std">std::</span><span class="class" title="class atomic">atomic::</span><span class="token">compare_exchange_strong</span><span class="cpp cpp11" title="C++11で追加">(C++11)</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">&</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">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++11</span> |
233 |
| -<span class="kt">bool</span> <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
234 |
| - <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
235 |
| - <span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">success</span><span class="p">,</span> |
236 |
| - <span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">failure</span> |
237 |
| - <span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++11</span> |
238 |
| - |
239 |
| -<span class="kt">bool</span> <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
240 |
| - <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
241 |
| - <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> |
242 |
| - <span class="p">)</span> <span class="k">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (3) C++11</span> |
243 |
| -<span class="kt">bool</span> <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
244 |
| - <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
245 |
| - <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> |
246 |
| - <span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (4) C++11</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">&</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">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (1) C++11</span> |
| 234 | + |
| 235 | +<span class="kt">bool</span> |
| 236 | + <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
| 237 | + <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
| 238 | + <span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">success</span><span class="p">,</span> |
| 239 | + <span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">failure</span> |
| 240 | + <span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++11</span> |
| 241 | +<span class="k">constexpr</span> <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">&</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">success</span><span class="p">,</span> |
| 245 | + <span class="n"><a href="../memory_order.html">memory_order</a></span> <span class="n">failure</span> |
| 246 | + <span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (2) C++26</span> |
| 247 | + |
| 248 | +<span class="kt">bool</span> |
| 249 | + <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
| 250 | + <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
| 251 | + <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> |
| 252 | + <span class="p">)</span> <span class="k">volatile</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (3) C++11</span> |
| 253 | + |
| 254 | +<span class="kt">bool</span> |
| 255 | + <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
| 256 | + <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
| 257 | + <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> |
| 258 | + <span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (4) C++11</span> |
| 259 | +<span class="k">constexpr</span> <span class="kt">bool</span> |
| 260 | + <span class="nf">compare_exchange_strong</span><span class="p">(</span><span class="n">T</span><span class="o">&</span> <span class="n">expected</span><span class="p">,</span> |
| 261 | + <span class="n">T</span> <span class="n">desired</span><span class="p">,</span> |
| 262 | + <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> |
| 263 | + <span class="p">)</span> <span class="k">noexcept</span><span class="p">;</span> <span class="c1">// (4) C++26</span> |
247 | 264 | </code></pre></div>
|
248 | 265 | </p>
|
249 | 266 | <h2>概要</h2>
|
@@ -380,6 +397,10 @@ <h2>参照</h2>
|
380 | 397 | <li>C++20での、<code>volatile</code>版への制約追加</li>
|
381 | 398 | </ul>
|
382 | 399 | </li>
|
| 400 | +<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3309r3.html" target="_blank">P3309R3 <code>constexpr atomic</code> and <code>atomic_ref</code></a><ul> |
| 401 | +<li>C++26で<code>constexpr</code>に対応した</li> |
| 402 | +</ul> |
| 403 | +</li> |
383 | 404 | </ul></div>
|
384 | 405 |
|
385 | 406 | </div>
|
|
0 commit comments