Skip to content

Commit 7477dcf

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 51f2248 commit 7477dcf

9 files changed

Lines changed: 18660 additions & 15532 deletions

File tree

implementation-status.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@
165165
<p class="text-right"><small>
166166
最終更新日時:
167167
<time itemprop="datePublished" class="js-local-time"
168-
datetime="2026-09-04T11:09:43+09:00">
169-
2026年09月04日 11時09分43秒 (JST)
168+
datetime="2026-09-04T11:37:58+09:00">
169+
2026年09月04日 11時37分58秒 (JST)
170170
</time>
171171
<br/>
172172
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -2337,8 +2337,8 @@ <h2><a href="#cpp29" id="cpp29">C++29言語機能の実装状況</a></h2>
23372337
<td></td>
23382338
</tr>
23392339
<tr>
2340-
<td>P3097R3: <span href="https://cpprefjp.github.io/lang/cpp29/contracts_for_virtual_functions.md.nolink">契約を仮想関数に対応させる</span></td>
2341-
<td>仮想関数に契約を適用できるようにする</td>
2340+
<td>P3097R3: <a href="lang/cpp29/contracts_for_virtual_functions.html">仮想関数への事前条件・事後条件の指定を許可</a></td>
2341+
<td>C++26で<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="implementation-compliance.html#dfn-ill-formed">不適格</a>とされていた、仮想関数への<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a><code>pre</code><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Postconditions。関数を実行後に満たされている条件。契約属性の`[[ensures]]`に相当">事後条件</a><code>post</code>の指定を許可する。仮想関数呼び出しでは、静的に選択された関数と実際に呼び出される関数の両方のアサーションが評価される</td>
23422342
<td></td>
23432343
<td></td>
23442344
<td></td>

lang/cpp26/contracts.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,8 @@
189189
<p class="text-right"><small>
190190
最終更新日時:
191191
<time itemprop="datePublished" class="js-local-time"
192-
datetime="2026-08-28T12:11:39+09:00">
193-
2026年08月28日 12時11分39秒 (JST)
192+
datetime="2026-09-04T11:37:58+09:00">
193+
2026年09月04日 11時37分58秒 (JST)
194194
</time>
195195
<br/>
196196
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -366,7 +366,10 @@ <h4>複数の宣言</h4>
366366
</code></pre></div>
367367
</p>
368368
<h4>仮想関数</h4>
369-
<p>仮想関数に<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a>または<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Postconditions。関数を実行後に満たされている条件。契約属性の`[[ensures]]`に相当">事後条件</a>の指定子を付けることは<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../implementation-compliance.html#dfn-ill-formed">不適格</a>(ill-formed)である。仮想関数への<code>pre</code><code>post</code>のサポートは、将来の拡張として提案される予定である。</p>
369+
<p>仮想関数に<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a>または<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Postconditions。関数を実行後に満たされている条件。契約属性の`[[ensures]]`に相当">事後条件</a>の指定子を付けることは<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../../implementation-compliance.html#dfn-ill-formed">不適格</a>(ill-formed)である。</p>
370+
<ul>
371+
<li>C++29 : <a href="../cpp29/contracts_for_virtual_functions.html">仮想関数への事前条件・事後条件の指定が許可された</a></li>
372+
</ul>
370373
<p><div class="codehilite"><pre><span></span><code><span class="k">struct</span><span class="w"> </span><span class="nc">Base</span><span class="w"> </span><span class="p">{</span>
371374
<span class="w"> </span><span class="c1">// エラー:仮想関数に契約指定子を適用できない</span>
372375
<span class="w"> </span><span class="k">virtual</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="nf">compute</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">pre</span><span class="p">(</span><span class="n">x</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
@@ -886,6 +889,7 @@ <h2><a href="#relative-page" id="relative-page">関連項目</a></h2>
886889
<li><code><a href="../../reference/contracts/assertion_kind.html">std::contracts::assertion_kind</a></code></li>
887890
<li><code><a href="../../reference/contracts/evaluation_semantic.html">std::contracts::evaluation_semantic</a></code></li>
888891
<li><code><a href="../../reference/contracts/detection_mode.html">std::contracts::detection_mode</a></code></li>
892+
<li><a href="../cpp29/contracts_for_virtual_functions.html">C++29 仮想関数への事前条件・事後条件の指定を許可</a></li>
889893
</ul>
890894
<h2>参照</h2>
891895
<ul>

lang/cpp29.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@
177177
<p class="text-right"><small>
178178
最終更新日時:
179179
<time itemprop="datePublished" class="js-local-time"
180-
datetime="2026-09-04T11:09:43+09:00">
181-
2026年09月04日 11時09分43秒 (JST)
180+
datetime="2026-09-04T11:37:58+09:00">
181+
2026年09月04日 11時37分58秒 (JST)
182182
</time>
183183
<br/>
184184
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -327,8 +327,8 @@ <h3>クラス</h3>
327327
<td><code>= default</code>で定義された代入演算子関数に制約を追加できるようにする</td>
328328
</tr>
329329
<tr>
330-
<td><span href="https://cpprefjp.github.io/lang/cpp29/contracts_for_virtual_functions.md.nolink">契約を仮想関数に対応させる</span></td>
331-
<td>仮想関数に契約を適用できるようにする</td>
330+
<td><a href="cpp29/contracts_for_virtual_functions.html">仮想関数への事前条件・事後条件の指定を許可</a></td>
331+
<td>C++26で<a class="cpprefjp-defined-word" data-desc="プログラムが適格でないこと。コンパイルエラーなどになる" href="../implementation-compliance.html#dfn-ill-formed">不適格</a>とされていた、仮想関数への<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Preconditions。関数呼び出し時に満たされていると関数が想定する条件。満たさなければ未定義の動作。契約属性の`[[expects]]`に相当">事前条件</a><code>pre</code><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Postconditions。関数を実行後に満たされている条件。契約属性の`[[ensures]]`に相当">事後条件</a><code>post</code>の指定を許可する。仮想関数呼び出しでは、静的に選択された関数と実際に呼び出される関数の両方のアサーションが評価される</td>
332332
</tr>
333333
</tbody>
334334
</table>

0 commit comments

Comments
 (0)