Spec-Zone.ru › C++

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)...).

Исключения

Передаёт исключение, выброшенное при вызове лежащей в основе функции.

Пример

См. также

operator()
вызывает цель
(открытая функция-член std::function<R(Args...)>)
operator()
вызывает цель
(открытая функция-член std::move_only_function)
operator()
вызывает сохранённую функцию
(открытая функция-член std::reference_wrapper<T>)
invokeinvoke_r
(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()

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API