std::copyable_function::operator()
R operator()( Args... args ) /*cv*/ /*ref*/ noexcept(/*noex*/); | (начиная с C++26) |
Вызывает сохранённую вызываемую цель с параметрами args. Части /*cv*/, /*ref*/ и /*noex*/ из operator() идентичны соответствующим частям параметра шаблона std::copyable_function.
Эквивалентно return std::invoke_r<R>(/*cv-ref-cast*/(f), std::forward<Args>(args)...);, где f — lvalue без квалификаторов cv, обозначающее объект-цель *this, а /*cv-ref-cast*/(f) эквивалентно:
-
f, если cv ref пусто или равно&, либо -
std::as_const(f), если cv ref равноconstилиconst &, либо -
std::move(f), если cv ref равно&&, либо -
std::move(std::as_const(f)), если cv ref равноconst &&.
Поведение не определено, если *this пуст.
Параметры
| args | - | параметры, передаваемые сохранённой вызываемой цели |
Возвращаемое значение
std::invoke_r<R>(/*cv-ref-cast*/(f), std::forward<Args>(args)...).
Исключения
Передаёт исключение, выброшенное при вызове лежащей в основе функции.
Пример
См. также
| вызывает цель (открытая функция-член std::function<R(Args...)>) |
|
| вызывает цель (открытая функция-член std::move_only_function) |
|
| вызывает сохранённую функцию (открытая функция-член std::reference_wrapper<T>) |
|
|
(C++17)(C++23) | вызывает любой объект Callable с заданными аргументами и позволяет указать тип возвращаемого значения(начиная с C++23) (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/functional/copyable_function/operator()