Skip to content

Commit 0de1d6d

Browse files
committed
is_clock : Clock要件を記載 #1445
1 parent 63b19a3 commit 0de1d6d

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

reference/chrono/is_clock.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,22 @@ namespace std::chrono {
2121
2222
Clock要件を満たすには、以下が必要である:
2323
24+
| 有効であるべき式 | 戻り値型 | 操作の意味論 |
25+
|------------------|----------|--------------|
26+
| `C1::rep` | 算術型もしくはそのように振る舞うクラス | `C1::duration`の値型 |
27+
| `C1::period` | [`std::ratio`](/reference/ratio/ratio.md)の特殊化 | クロックの時間周期 (秒ベース) |
28+
| `C1::duration` | [`chrono::duration`](duration.md)`<C1::rep, C1::period>` | クロックの`duation`型 |
29+
| `C1::time_point` | [`chrono::time_point`](time_point.md)`<C1>`もしくは[`chrono::time_point`](time_point.md)`<C2, C1::duration>` | クロックの`time_point`型。`C1`と`C2`は同じエポックを参照する |
30+
| `C1::is_steady` | `const bool` | `t1 <= t2`が常に真であり (注:時間が戻らない)、時間間隔が常に一定である場合に`true`、そうでなければ`false` |
31+
| `C1::now()` | `C1::time_point` | 現在の時間点を表す`time_point`オブジェクトを返す |
32+
33+
ここで、以下のように定義する:
34+
35+
- `C1`と`C2` : クロックの種類
36+
- `t1`と`t2` : `C1::now()`によって返される値。ここで、`t1`を返す`now()`呼び出しは`t2`を返す`now()`呼び出しよりも前に発生し、これらの呼び出しは両方とも`C1::time_point::max()`よりも前に発生するものとする (注: これは、`C1`が`t1`と`t2`の間でラップアラウンドしていないことを意味する)
37+
38+
`is_clock`は、以下を満たさない限り、`Clock`要件として適格ではない:
39+
2440
- 修飾された型`T`が、`T::period`、`T::duration`、`T::time_point`メンバ型を持っていること
2541
- 式`T::is_steady`が評価されないオペランドで使用された場合に妥当であること
2642
- 式`T::now()`が評価されないオペランドで使用された場合に妥当であること

0 commit comments

Comments
 (0)