|
28 | 28 | <meta property="og:url" content="https://cpprefjp.github.io/reference/contracts.html" />
|
29 | 29 | <meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
|
30 | 30 | <meta property="og:type" content="article" />
|
31 |
| - <meta property="og:description" content="&lt;contracts&gt;contracts(C++26) &lt;contracts&gt;ヘッダでは、契約違反のハンドリングのための機能を定義する。 名前 説明 対応バージョン contract_violation 契約違反に関する情報 (class) C++26 バージョン 言語 C++26 処理系 Clang: 未実装 GCC: 未実装 ICC: ? Vi" /> |
| 31 | + <meta property="og:description" content="`<contracts>`ヘッダでは、C++における契約プログラミングのサポートを提供する。" /> |
32 | 32 | <meta name="twitter:card" content="summary" />
|
33 | 33 | <meta name="twitter:title" content="contracts - cpprefjp C++日本語リファレンス" />
|
34 | 34 | <meta name="twitter:url" content="https://cpprefjp.github.io/reference/contracts.html" />
|
35 |
| - <meta name="twitter:description" content="&lt;contracts&gt;contracts(C++26) &lt;contracts&gt;ヘッダでは、契約違反のハンドリングのための機能を定義する。 名前 説明 対応バージョン contract_violation 契約違反に関する情報 (class) C++26 バージョン 言語 C++26 処理系 Clang: 未実装 GCC: 未実装 ICC: ? Vi" /> |
| 35 | + <meta name="twitter:description" content="`<contracts>`ヘッダでは、C++における契約プログラミングのサポートを提供する。" /> |
36 | 36 |
|
37 | 37 |
|
38 | 38 | <link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
|
|
176 | 176 |
|
177 | 177 | <p class="text-right"><small>
|
178 | 178 | 最終更新日時(UTC):
|
179 |
| - <span itemprop="datePublished" content="2025-04-25T05:20:09"> |
180 |
| - 2025年04月25日 05時20分09秒 |
| 179 | + <span itemprop="datePublished" content="2025-04-25T05:58:45"> |
| 180 | + 2025年04月25日 05時58分45秒 |
181 | 181 | </span>
|
182 | 182 | <br/>
|
183 | 183 | <span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
|
201 | 201 | <div class="col-sm-12 content-body">
|
202 | 202 |
|
203 | 203 | <div class="header"><contracts></div><h1 itemprop="name"><span class="token">contracts</span><span class="cpp cpp26" title="C++26で追加">(C++26)</span></h1>
|
204 |
| -<div itemprop="articleBody"><p><code><contracts></code>ヘッダでは、<a href="../lang/cpp26/contracts.html">契約違反</a>のハンドリングのための機能を定義する。</p> |
| 204 | +<div itemprop="articleBody"><h2>概要</h2> |
| 205 | +<p><code><contracts></code>ヘッダでは、C++における契約プログラミングのサポートを提供する。</p> |
| 206 | +<p>契約プログラミングは、関数やクラスの前提条件、<a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成する要素の1つ。Postconditions。関数を実行後に満たされている条件。契約属性の`[[ensures]]`に相当">事後条件</a>、およびアサーションを明示的に指定するプログラミング手法である。これらの条件が満たされない場合、プログラムは契約違反を報告する。</p> |
205 | 207 | <table border="1" bordercolor="#888" style="border-collapse:collapse">
|
206 | 208 | <thead>
|
207 | 209 | <tr>
|
|
212 | 214 | </thead>
|
213 | 215 | <tbody>
|
214 | 216 | <tr>
|
215 |
| -<td><code><a href="contracts/contract_violation.html">contract_violation</a></code></td> |
| 217 | +<td><code><span href="https://cpprefjp.github.io/reference/contracts/assertion_kind.md.nolink">assertion_kind</span></code></td> |
| 218 | +<td>アサーションの種類 (enum)</td> |
| 219 | +<td>C++26</td> |
| 220 | +</tr> |
| 221 | +<tr> |
| 222 | +<td><code><span href="https://cpprefjp.github.io/reference/contracts/evaluation_semantic.md.nolink">evaluation_semantic</span></code></td> |
| 223 | +<td>アサーションの評価の種類(enum)</td> |
| 224 | +<td>C++26</td> |
| 225 | +</tr> |
| 226 | +<tr> |
| 227 | +<td><code><span href="https://cpprefjp.github.io/reference/contracts/detection_mode.md.nolink">detection_mode</span></code></td> |
| 228 | +<td>契約違反の検出モード(enum)</td> |
| 229 | +<td>C++26</td> |
| 230 | +</tr> |
| 231 | +<tr> |
| 232 | +<td><code><span href="https://cpprefjp.github.io/reference/contracts/contract_violation.md.nolink">contract_violation</span></code></td> |
216 | 233 | <td>契約違反に関する情報 (class)</td>
|
217 | 234 | <td>C++26</td>
|
218 | 235 | </tr>
|
|
0 commit comments