Throughout this Clause, the names of template parameters are used to express type
requirements
. If a template parameter is named
Predicate,
operator() applied to
the template argument shall return a value that is convertible to
bool. If a template parameter is named
Clock,
the corresponding template argument shall be a type
C
for which
is_clock_v<C> is
true;
otherwise the program is ill-formed
.