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.
|
| 5 |
-
`
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
|