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 = 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
:
This requirement supersedes the annotation in the definition of invocable.
β€” end note
 ]
Example
:
A random number generator does not model regular_Β­invocable.
β€” end example
 ]
Note
:
The distinction between invocable and regular_Β­invocable is purely semantic.
β€” end note
 ]