std::invocable, std::regular_invocable — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
(начиная с C++20) | |
|
|
(начиная с C++20) | |
Концепт invocable определяет, что вызываемый тип F может быть вызван с набором аргументов Args... с использованием шаблона функции std::invoke.
Концепт regular_invocable дополняет концепт invocable, требуя, чтобы выражение invoke сохраняло равенство и не изменяло ни объект функции, ни аргументы.
Сохранение равенства
Выражения, объявленные в выражениях requires концептов стандартной библиотеки, должны сохранять равенство (если не указано иное).
Примечание
Различие между invocable и regular_invocable чисто семантическое.
Генератор случайных чисел может соответствовать invocable, но не соответствовать regular_invocable (исключая комичные).
Смотрите также
Внешние ссылки
| 1. | Примечательный пример генератора случайных чисел, который соответствует как invocable, так и regular_invocable.
|