# C++ 具名要求：平凡时钟 (TrivialClock)

< cpp‎ | named req

平凡时钟 (TrivialClock) 要求描述所有时间库中数个时钟所满足的要求。

### 要求

对于类型 TC:

- 该类型必须满足时钟 (Clock) 要求。
- 类型 TC::rep 、 TC::duration 及 TC::time_point 满足 可相等比较 (EqualityComparable) 、可小于比较 (LessThanComparable) 、可默认构造 (DefaultConstructible) 、可复制构造 (CopyConstructible) 、可复制赋值 (CopyAssignable) 、可析构 (Destructible) 及数值类型 (NumericType) 的要求。
- TC::rep 、 TC::duration 及 TC::time_point类型的左值可交换 (Swappable) 。
- 函数 TC::now() 不抛出异常。
- 类型 TC::time_point::clock 满足平凡时钟 (平凡时钟 (TrivialClock) ) 的要求，依此递归。

### 使用

标准库中下列类型满足此概念：

- std::chrono::system_clock
- std::chrono::steady_clock
- std::chrono::high_resolution_clock
- `std::filesystem::file_time_type::clock`
- `std::chrono::file_clock`