Namespaces
Variants

std::copyable_function::operator=

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
Функциональные объекты
Вызов функций
(C++17)(C++23)
Тождественный функциональный объект
(C++20)
Старые binder'ы и адаптеры
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
(до C++17*)(до C++17*)
(до C++17*)(до C++17*)

(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
 
 
copyable_function& operator=( const copyable_function& other );
(1) (начиная с C++26)
copyable_function& operator=( copyable_function&& other );
(2) (начиная с C++26)
copyable_function& operator=( std::nullptr_t ) noexcept;
(3) (начиная с C++26)
template< class F >
copyable_function& operator=( F&& f );
(4) (начиная с C++26)

Присваивает новый целевой объект std::copyable_function или уничтожает его целевой объект.

1) Присваивает копию целевого объекта other объекту *this, как если бы выполнилось auto(other).swap(*this).
2) Перемещает целевой объект other в *this или уничтожает целевой объект *this (если он есть), если other пуст, с помощью auto(std::move(other)).swap(*this). После перемещения присваиванием other находится в корректном состоянии с неопределённым значением.
3) Уничтожает текущий целевой объект, если он существует. После вызова *this пуст.
4) Устанавливает целевой объект *this равным вызываемому объекту f или уничтожает текущий целевой объект, если f является нулевым указателем на функцию, нулевым указателем на функцию-элемент или пустым std::copyable_function, как если бы выполнилось copyable_function(std::forward<F>(f)).swap(*this);. Эта перегрузка участвует в разрешении перегрузки только в том случае, если конструктор copyable_function из F участвует в разрешении перегрузки. Программа считается некорректной или приводит к неопределённому поведению, если выбранный вызов конструктора является некорректным или приводит к неопределённому поведению.

Параметры

other - другой std::copyable_function объект, из которого копируется или перемещается целевой объект
f - вызываемый объект для инициализации нового целевого объекта

Возвращаемое значение

* this

Пример

Смотрите также

присваивает новый целевой объект
(публичная функция-член std::function<R(Args...)> )
заменяет или уничтожает целевой объект
(публичная функция-член std::move_only_function )