Namespaces
Variants

std::copyable_function:: operator=

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until 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 )