Skip to content

Commit 00e34a6

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent df198bd commit 00e34a6

7 files changed

Lines changed: 1144 additions & 68 deletions

File tree

lang/cpp26/feature_test_macros.html

Lines changed: 3 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="2026-06-22T07:01:50">
192-
2026年06月22日 07時01分50秒
191+
<span itemprop="datePublished" content="2026-06-24T02:55:06">
192+
2026年06月24日 02時55分06秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -728,7 +728,7 @@ <h3>ライブラリ</h3>
728728
</tr>
729729
<tr>
730730
<td><code>__cpp_lib_function_ref</code></td>
731-
<td><code>202306L</code></td>
731+
<td><code>202604L</code></td>
732732
<td><code><a href="../../reference/functional.html">&lt;functional&gt;</a></code><code><a href="../../reference/functional/function_ref.html">std::function_ref</a></code>を追加</td>
733733
<td><code><a href="../../reference/functional.html">&lt;functional&gt;</a></code></td>
734734
</tr>

reference/chrono/make24.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ <h2>例</h2>
239239
<span class="w"> </span><span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">12h</a></span><span class="p">,</span><span class="w"> </span><span class="nb">false</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n"><a href="duration/op_h.html">0h</a></span><span class="p">);</span>
240240

241241
<span class="w"> </span><span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">12h</a></span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n"><a href="duration/op_h.html">12h</a></span><span class="p">);</span>
242-
<span class="w"> </span><span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">1h</a></span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1U</span><span class="n">DnPRqVXGGOVJZjOImGgXPIAVuHfXYtY</span><span class="p">);</span>
242+
<span class="w"> </span><span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">1h</a></span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="n"><a href="duration/op_h.html">3h</a></span><span class="p">);</span>
243243
<span class="w"> </span><span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">3h</a></span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n"><a href="duration/op_h.html">15h</a></span><span class="p">);</span>
244244
<span class="w"> </span><span class="n"><a href="../cassert/assert.html">assert</a></span><span class="p">(</span><span class="n"><span style="color:#ff0000">chrono::make24</span></span><span class="p">(</span><span class="n"><a href="duration/op_h.html">11h</a></span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">)</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n"><a href="duration/op_h.html">23h</a></span><span class="p">);</span>
245245
<span class="p">}</span>

reference/functional/function_ref.html

Lines changed: 7 additions & 3 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="2026-04-02T05:29:58">
192-
2026年04月02日 05時29分58秒
191+
<span itemprop="datePublished" content="2026-06-24T02:55:06">
192+
2026年06月24日 02時55分06秒
193193
</span>
194194
<br/>
195195
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
196-
<span itemprop="name">teruyamato0731</span>
196+
<span itemprop="name">Akira Takahashi</span>
197197
</span>
198198
が更新
199199
</small></p>
@@ -358,6 +358,10 @@ <h2>参照</h2>
358358
<ul>
359359
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html" target="_blank">P0792R14 <code>function_ref</code>: a type-erased callable reference</a></li>
360360
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3774r1.html" target="_blank">P3774R1 Rename <code>std::nontype</code>, and make it broadly useful</a></li>
361+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3961r1.html" target="_blank">P3961R1 Less double indirection in <code>function_ref</code> (RU-220)</a><ul>
362+
<li>別の<code>function_ref</code>から構築する際の二重の間接呼び出しを回避するよう、コンストラクタと代入演算子の仕様を変更した</li>
363+
</ul>
364+
</li>
361365
</ul></div>
362366

363367
</div>

reference/functional/function_ref/op_assign.html

Lines changed: 8 additions & 3 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="2026-02-11T06:05:02">
204-
2026年02月11日 06時05分02秒
203+
<span itemprop="datePublished" content="2026-06-24T02:55:06">
204+
2026年06月24日 02時55分06秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">yoh</span>
208+
<span itemprop="name">Akira Takahashi</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -236,6 +236,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
236236
<ul>
237237
<li>(2) : 以下の制約をみたすとき、代入演算子はdelete宣言される<ul>
238238
<li><code>T</code><code>function_ref</code>と同一型ではなく、かつ</li>
239+
<li>説明専用の<code>is-convertible-from-specialization&lt;T&gt;</code><a href="op_constructor.html">コンストラクタ</a>を参照)が<code>false</code>であり、かつ</li>
239240
<li><code><a href="../../type_traits/is_pointer.html">is_pointer_v</a>&lt;T&gt;</code><code>false</code>であり、かつ</li>
240241
<li><code>T</code><code><a href="../../utility/constant_arg_t.html">constant_arg_t</a></code>の特殊化でないこと</li>
241242
</ul>
@@ -288,6 +289,10 @@ <h2>参照</h2>
288289
<ul>
289290
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html" target="_blank">P0792R14 <code>function_ref</code>: a type-erased callable reference</a></li>
290291
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3774r1.html" target="_blank">P3774R1 Rename <code>std::nontype</code>, and make it broadly useful</a></li>
292+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3961r1.html" target="_blank">P3961R1 Less double indirection in <code>function_ref</code> (RU-220)</a><ul>
293+
<li>delete宣言される代入演算子(2)の制約に、説明専用の<code>is-convertible-from-specialization</code>の条件を追加した</li>
294+
</ul>
295+
</li>
291296
</ul></div>
292297

293298
</div>

reference/functional/function_ref/op_constructor.html

Lines changed: 15 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="2026-02-11T06:05:02">
204-
2026年02月11日 06時05分02秒
203+
<span itemprop="datePublished" content="2026-06-24T02:55:06">
204+
2026年06月24日 02時55分06秒
205205
</span>
206206
<br/>
207207
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
208-
<span itemprop="name">yoh</span>
208+
<span itemprop="name">Akira Takahashi</span>
209209
</span>
210210
が更新
211211
</small></p>
@@ -248,6 +248,12 @@ <h2>概要</h2>
248248
<li><em>noex</em><code>false</code>のとき : <code><a href="../../type_traits/is_invocable_r.html">is_invocable_r_v</a>&lt;R, T..., ArgTypes...&gt;</code></li>
249249
</ul>
250250
<p><code>function_ref</code>オブジェクトは、説明専用のメンバ変数<code>thunk-ptr</code><code>bound-entity</code>を保持する。</p>
251+
<p>また、説明専用の変数テンプレート<code>is-convertible-from-specialization&lt;F&gt;</code>を次のように定義する。型<code>F</code>が、ある<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a> <em>cv2</em> とnoexcept<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>指定 <em>noex2</em> に対する<code>function_ref&lt;R(Args...) /*cv2*/ noexcept(/*noex2*/)&gt;</code>の特殊化を表す場合、<code>is-convertible-from-specialization&lt;F&gt;</code>は次の値と等しい :</p>
252+
<p><div class="codehilite"><pre><span></span><code><span class="n"><a href="../../type_traits/is_convertible.html">is_convertible_v</a></span><span class="o">&lt;</span><span class="n">R</span><span class="p">(</span><span class="o">&amp;</span><span class="p">)(</span><span class="n">Args</span><span class="p">...)</span><span class="w"> </span><span class="k">noexcept</span><span class="p">(</span><span class="cm">/*noex2*/</span><span class="p">),</span><span class="w"> </span><span class="n">R</span><span class="p">(</span><span class="o">&amp;</span><span class="p">)(</span><span class="n">Args</span><span class="p">...)</span><span class="w"> </span><span class="k">noexcept</span><span class="p">(</span><span class="cm">/*noex*/</span><span class="p">)</span><span class="o">&gt;</span><span class="w"> </span><span class="o">&amp;&amp;</span>
253+
<span class="n"><a href="../../type_traits/is_convertible.html">is_convertible_v</a></span><span class="o">&lt;</span><span class="kt">int</span><span class="w"> </span><span class="cm">/*cv*/</span><span class="o">&amp;</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="cm">/*cv2*/</span><span class="o">&amp;&gt;</span>
254+
</code></pre></div>
255+
</p>
256+
<p>そうでない場合、<code>is-convertible-from-specialization&lt;F&gt;</code><code>false</code>である。</p>
251257
<h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件">テンプレートパラメータ制約</a></h2>
252258
<p><code>function_ref</code>クラステンプレートパラメータの<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a><em>cv</em> に応じて</p>
253259
<ul>
@@ -287,8 +293,9 @@ <h2>効果</h2>
287293
<li><a href="op_call.html">関数呼び出し<code>thunk(bound-entity, call-args...)</code></a><code><a href="../invoke_r.html">invoke_r</a>&lt;R&gt;(f, call-args...)</code>と等価。</li>
288294
</ul>
289295
</li>
290-
<li>(2) : <code>bound-entity</code><code><a href="../../memory/addressof.html">addressof</a>(f)</code>で、<code>thunk-ptr</code>を説明専用の関数<code>thunk</code>へのアドレスで初期化する。<ul>
296+
<li>(2) : <code>is-convertible-from-specialization&lt;<a href="../../type_traits/remove_cv.html">remove_cv_t</a>&lt;T&gt;&gt;</code><code>false</code>の場合、<code>bound-entity</code><code><a href="../../memory/addressof.html">addressof</a>(f)</code>で、<code>thunk-ptr</code>を説明専用の関数<code>thunk</code>へのアドレスで初期化する。<ul>
291297
<li><a href="op_call.html">関数呼び出し<code>thunk(bound-entity, call-args...)</code></a><code><a href="../invoke_r.html">invoke_r</a>&lt;R&gt;(static_cast&lt;/*cv*/ T&amp;&gt;(f), call-args...)</code>と等価。</li>
298+
<li><code>is-convertible-from-specialization&lt;<a href="../../type_traits/remove_cv.html">remove_cv_t</a>&lt;T&gt;&gt;</code><code>true</code>の場合(<code>f</code>が互換するシグニチャ・<a class="cpprefjp-defined-word" data-desc="型をconstおよび・もしくはvolatileで修飾すること">CV修飾</a>をもつ<code>function_ref</code>の特殊化であるとき)、<code>bound-entity</code><code>f</code><code>bound-entity</code>の値で、<code>thunk-ptr</code><code>f</code><code>thunk-ptr</code>の値で初期化する。これにより、<code>function_ref</code>から別の<code>function_ref</code>を構築する際に、本来不要な二重の間接呼び出しが回避される。</li>
292299
</ul>
293300
</li>
294301
<li>(3) : <code>bound-entity</code><a class="cpprefjp-defined-word" data-desc="未規定の動作。事前の断りなく処理系によって異なる動作をする" href="../../../implementation-compliance.html#dfn-unspecified-behavior">未規定</a>オブジェクトへのポインタまたはヌルポインタで、<code>thunk-ptr</code>を説明専用の関数<code>thunk</code>へのアドレスで初期化する。<ul>
@@ -386,6 +393,10 @@ <h2>参照</h2>
386393
<ul>
387394
<li><a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0792r14.html" target="_blank">P0792R14 <code>function_ref</code>: a type-erased callable reference</a></li>
388395
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3774r1.html" target="_blank">P3774R1 Rename <code>std::nontype</code>, and make it broadly useful</a></li>
396+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3961r1.html" target="_blank">P3961R1 Less double indirection in <code>function_ref</code> (RU-220)</a><ul>
397+
<li>別の<code>function_ref</code>から構築する際の二重の間接呼び出しを回避するため、説明専用の<code>is-convertible-from-specialization</code>を追加し、(2)のコンストラクタの効果を変更した</li>
398+
</ul>
399+
</li>
389400
</ul></div>
390401

391402
</div>

0 commit comments

Comments
 (0)