1.9 KiB
1.9 KiB
[concept.regularinvocable]
18 Concepts library [concepts]
18.7 Callable concepts [concepts.callable]
18.7.3 Concept regular_invocable [concept.regularinvocable]
template<class F, class... Args> concept [regular_invocable](#concept:regular_invocable "18.7.3 Concept regular_invocable [concept.regularinvocable]") = [invocable](concept.invocable#concept:invocable "18.7.2 Concept invocable [concept.invocable]")<F, Args...>;
The invoke function call expression shall be equality-preserving ([concepts.equality]) and shall not modify the function object or the arguments.
[Note 1:
This requirement supersedes the annotation in the definition ofinvocable.
â end note]
[Example 1:
A random number generator does not model regular_invocable.
â end example]
[Note 2:
The distinction between invocable and regular_invocable is purely semantic.
â end note]