# C++ concepts: TrivialClock

From cppreference.com
< cpp‎ | concept

The `TrivialClock` concept describes the requirements satisfied by all the clocks in the chrono library.

### Requirements

For a type TC:

- The type must meet `Clock` requirements.
- The types TC::rep, TC::duration, and TC::time_point satisfy the requirements of `EqualityComparable`, `LessThanComparable`, `DefaultConstructible`, `CopyConstructible`, `CopyAssignable`, `Destructible`, and `NumericType`.
- lvalues of the types TC::rep, TC::duration, and TC::time_point are `Swappable`.
- The function TC::now() does not throw exceptions.
- The type TC::time_point::clock meets the `TrivialClock` requirements, recursively.

### Usage

The following types satisfy this concept in the standard library:

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/concept/TrivialClock&oldid=77618"