tmp/tmpg1h1i283/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Concept <a id="concept.regularinvocable">[[concept.regularinvocable]]</a>
|
| 2 |
+
|
| 3 |
+
``` cpp
|
| 4 |
+
template<class F, class... Args>
|
| 5 |
+
concept regular_invocable = invocable<F, Args...>;
|
| 6 |
+
```
|
| 7 |
+
|
| 8 |
+
The `invoke` function call expression shall be
|
| 9 |
+
equality-preserving [[concepts.equality]] and shall not modify the
|
| 10 |
+
function object or the arguments.
|
| 11 |
+
|
| 12 |
+
[*Note 1*: This requirement supersedes the annotation in the definition
|
| 13 |
+
of `invocable`. — *end note*]
|
| 14 |
+
|
| 15 |
+
[*Example 1*: A random number generator does not model
|
| 16 |
+
`regular_invocable`. — *end example*]
|
| 17 |
+
|
| 18 |
+
[*Note 2*: The distinction between `invocable` and `regular_invocable`
|
| 19 |
+
is purely semantic. — *end note*]
|
| 20 |
+
|