|
188 | 188 |
|
189 | 189 | <p class="text-right"><small>
|
190 | 190 | 最終更新日時(UTC):
|
191 |
| - <span itemprop="datePublished" content="2024-06-11T13:45:38"> |
192 |
| - 2024年06月11日 13時45分38秒 |
| 191 | + <span itemprop="datePublished" content="2025-05-07T06:26:01"> |
| 192 | + 2025年05月07日 06時26分01秒 |
193 | 193 | </span>
|
194 | 194 | <br/>
|
195 | 195 | <span itemprop="author" itemscope itemtype="http://schema.org/Person">
|
@@ -226,6 +226,53 @@ <h2>概要</h2>
|
226 | 226 | <p><code>is_clock</code>は、クロック型かを判定する型特性である。</p>
|
227 | 227 | <p>型<code>T</code>がClock要件を満たす場合は<code><a href="../type_traits/true_type.html">true_type</a></code>から派生し、そうでなければ<code><a href="../type_traits/false_type.html">false_type</a></code>から派生する。</p>
|
228 | 228 | <p>Clock要件を満たすには、以下が必要である:</p>
|
| 229 | +<table border="1" bordercolor="#888" style="border-collapse:collapse"> |
| 230 | +<thead> |
| 231 | +<tr> |
| 232 | +<th>有効であるべき式</th> |
| 233 | +<th><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価結果となるオブジェクト・値">戻り値</a>型</th> |
| 234 | +<th>操作の意味論</th> |
| 235 | +</tr> |
| 236 | +</thead> |
| 237 | +<tbody> |
| 238 | +<tr> |
| 239 | +<td><code>C1::rep</code></td> |
| 240 | +<td>算術型もしくはそのように振る舞うクラス</td> |
| 241 | +<td><code>C1::duration</code>の値型</td> |
| 242 | +</tr> |
| 243 | +<tr> |
| 244 | +<td><code>C1::period</code></td> |
| 245 | +<td><code><a href="../ratio/ratio.html">std::ratio</a></code>の特殊化</td> |
| 246 | +<td>クロックの時間周期 (秒ベース)</td> |
| 247 | +</tr> |
| 248 | +<tr> |
| 249 | +<td><code>C1::duration</code></td> |
| 250 | +<td><code><a href="duration.html">chrono::duration</a><C1::rep, C1::period></code></td> |
| 251 | +<td>クロックの<code>duation</code>型</td> |
| 252 | +</tr> |
| 253 | +<tr> |
| 254 | +<td><code>C1::time_point</code></td> |
| 255 | +<td><code><a href="time_point.html">chrono::time_point</a><C1></code>もしくは<code><a href="time_point.html">chrono::time_point</a><C2, C1::duration></code></td> |
| 256 | +<td>クロックの<code>time_point</code>型。<code>C1</code>と<code>C2</code>は同じエポックを参照する</td> |
| 257 | +</tr> |
| 258 | +<tr> |
| 259 | +<td><code>C1::is_steady</code></td> |
| 260 | +<td><code>const bool</code></td> |
| 261 | +<td><code>t1 <= t2</code>が常に真であり (注:時間が戻らない)、時間間隔が常に一定である場合に<code>true</code>、そうでなければ<code>false</code></td> |
| 262 | +</tr> |
| 263 | +<tr> |
| 264 | +<td><code>C1::now()</code></td> |
| 265 | +<td><code>C1::time_point</code></td> |
| 266 | +<td>現在の時間点を表す<code>time_point</code>オブジェクトを返す</td> |
| 267 | +</tr> |
| 268 | +</tbody> |
| 269 | +</table> |
| 270 | +<p>ここで、以下のように定義する:</p> |
| 271 | +<ul> |
| 272 | +<li><code>C1</code>と<code>C2</code> : クロックの種類</li> |
| 273 | +<li><code>t1</code>と<code>t2</code> : <code>C1::now()</code>によって返される値。ここで、<code>t1</code>を返す<code>now()</code>呼び出しは<code>t2</code>を返す<code>now()</code>呼び出しよりも前に発生し、これらの呼び出しは両方とも<code>C1::time_point::max()</code><a class="cpprefjp-defined-word" data-desc="happens before。(異なるスレッド間の) 2つの操作の実行順序を規定する関係">よりも前に発生する</a>ものとする (注: これは、<code>C1</code>が<code>t1</code>と<code>t2</code>の間でラップアラウンドしていないことを意味する)</li> |
| 274 | +</ul> |
| 275 | +<p><code>is_clock</code>は、以下を満たさない限り、<code>Clock</code>要件として<a class="cpprefjp-defined-word" data-desc="プログラムが文法規則・診断対象の意味規則・単一定義規則を満たすこと" href="../../implementation-compliance.html#dfn-well-formed">適格</a>ではない:</p> |
229 | 276 | <ul>
|
230 | 277 | <li>修飾された型<code>T</code>が、<code>T::period</code>、<code>T::duration</code>、<code>T::time_point</code>メンバ型を持っていること</li>
|
231 | 278 | <li>式<code>T::is_steady</code>が評価されないオペランドで使用された場合に妥当であること</li>
|
|
0 commit comments