32 Thread support library [thread]

32.2 Requirements [thread.req]

32.2.1 Template parameter names [thread.req.paramname]

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.