From Jason Turner

[thread.req.paramname]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp476q9h5e/{from.md → to.md} +10 -5
tmp/tmp476q9h5e/{from.md → to.md} RENAMED
@@ -1,9 +1,14 @@
1
  ### Template parameter names <a id="thread.req.paramname">[[thread.req.paramname]]</a>
2
 
3
  Throughout this Clause, the names of template parameters are used to
4
- express type requirements. If a template parameter is named `Predicate`,
5
- `operator()` applied to the template argument shall return a value that
6
- is convertible to `bool`. If a template parameter is named `Clock`, the
7
- corresponding template argument shall be a type `C` for which
8
- `is_clock_v<C>` is `true`; otherwise the program is ill-formed.
 
 
 
 
 
9
 
 
1
  ### Template parameter names <a id="thread.req.paramname">[[thread.req.paramname]]</a>
2
 
3
  Throughout this Clause, the names of template parameters are used to
4
+ express type requirements. `Predicate` is a function object type
5
+ [[function.objects]]. Let `pred` denote an lvalue of type `Predicate`.
6
+ Then the expression `pred()` shall be well-formed and the type
7
+ `decltype(pred())` shall model `boolean-testable`
8
+ [[concept.booleantestable]]. The return value of `pred()`, converted to
9
+ `bool`, yields `true` if the corresponding test condition is satisfied,
10
+ and `false` otherwise. If a template parameter is named `Clock`, the
11
+ corresponding template argument shall be a type `C` that meets the
12
+ *Cpp17Clock* requirements [[time.clock.req]]; the program is ill-formed
13
+ if `is_clock_v<C>` is `false`.
14