Files
cppdraft_translate/cppdraft/concept/regularinvocable.md
2025-10-25 03:02:53 +03:00

1.9 KiB
Raw Blame History

[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.3Concept regular_­invocable[concept.regularinvocable]") = [invocable](concept.invocable#concept:invocable "18.7.2Concept invocable[concept.invocable]")<F, Args...>;

1

#

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]

2

#

[Example 1:

A random number generator does not model regular_invocable.

— end example]

3

#

[Note 2:

The distinction between invocable and regular_invocable is purely semantic.

— end note]