std::move_only_function::operator=
De es.cppreference.net
move_only_function& operator=( move_only_function&& other );
|
(1) | (desde C++23) |
move_only_function& operator=( const move_only_function& ) = delete;
|
(2) | (desde C++23) |
move_only_function& operator=( std::nullptr_t ) noexcept;
|
(3) | (desde C++23) |
template< class F >
move_only_function& operator=( F&& f );
|
(4) | (desde C++23) |
Asigna un nuevo destino a std::move_only_function o destruye su destino.
1) Mueve el destino de
other a *this o destruye el destino de *this (si existe) si other está vacío, mediante auto(std::move(other)).swap(*this). other está en un estado válido con un valor no especificado después de la asignación por movimiento.2) El operador de asignación por copia está eliminado.
std::move_only_function no satisface CopyAssignable.3) Destruye el destino actual si existe.
*this queda vacío después de la llamada.4) Establece el destino de
*this al invocable f, o destruye el destino actual si f es un puntero a función nulo, un puntero nulo a función miembro, o un std::move_only_function vacío, como si se ejecutara move_only_function(std::forward<F>(f)).swap(*this);. Esta sobrecarga participa en la resolución de sobrecarga solo si el constructor de move_only_function a partir de F participa en la resolución de sobrecarga. El programa está mal formado o tiene comportamiento indefinido si la llamada al constructor seleccionado está mal formada o tiene comportamiento indefinido.Parámetros
| otro | - |
otro objeto
std::move_only_function
para mover el objetivo de
|
| f | - | un objeto invocable para inicializar el nuevo objetivo con |
Valor de retorno
* this
Notas
Es intencional no requerir que el operador de asignación por movimiento sea
noexcept
para dejar espacio para un
move_only_function
consciente del asignador en el futuro.
move_only_function
puede asignarse desde
std::
in_place_type
<
Fn
>
siempre que pueda construirse a partir de ese argumento.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
asigna un nuevo destino
(función miembro pública de
std::function<R(Args...)>
)
|