A type trait is a compile-time facility that exposes a property or transformation of a C++ type. Traits let generic code interrogate types before execution. section 6.0 section 4.2.4
The chrono library provides std::chrono::is_clock. Its Boolean value reports whether a type satisfies the clock requirements, such as defining rep, period, duration, time_point, is_steady, and now(). section 4.2.4
Checking a clock type
std::chrono::is_clock<int>::value is false because int is not a clock. Applying the trait can expose an unsuitable type before another time-related function uses it. section 4.2.4
std::chrono::is_clock<int>::value
Inspect the compact expression that queries whether int satisfies the clock requirements. section 4.2.4

