Throughout this Clause, the names of template parameters are used to express type
requirements
. Let
pred denote an lvalue of type
Predicate. The return value of
pred(), converted to
bool,
yields
true if the corresponding test condition is satisfied, and
false otherwise
. If a template parameter is named
Clock,
the corresponding template argument shall be a type
C
that meets the
Cpp17Clock requirements (
[time.clock.req]);
the program is ill-formed if
is_clock_v<C> is
false.