Espacios de nombres
Variantes

std::forward_list::operator=

De cppreference.com
 
 
 
 
forward_list& operator=( const forward_list& other );
(1) (desde C++11)
forward_list& operator=( forward_list&& other );
(2) (desde C++11)
(hasta C++17)
forward_list& operator=( forward_list&& other ) noexcept(/* véase más abajo */);
(desde C++17)
forward_list& operator=( std::initializer_list<T> ilist );
(3) (desde C++11)

Reemplaza el contenido del contenedor.

1) Operador de asignación de copia. Reemplaza el contenido con una copia del contenido de other.Si std::allocator_traits<allocator_type>::propagate_on_container_copy_assignment::value es true, el asignador de memoria destino se reemplaza con una copia del asignador de memoria fuente. Si los asignadores destino y fuente no se comparan como iguales, se usa el asignador destino (*this) para desasignar la memoria, luego se usa el asignador de other para asignarla antes de copiar los elementos. (desde C++11).
2) Operador de asignación de movimiento. Reemplaza el contenido con el de other usando semántica de movimiento (p. ej., los datos en other se mueven de other a este contenedor). Posteriormente, other se deja en un estado válido pero sin especificar. Si std::allocator_traits<allocator_type>::propagate_on_container_move_assignment::value es true, el asignador de memoria destino se reemplaza con una copia del asignador de memoria fuente. Si es false y los asignadores fuente y destino no se comparan como iguales, el asignador destino no puede adueñarse de la memoria del asignador fuente y debe asignar cada elemento individualmente mediante movimiento, asignando memoria adicional usando su propio asignador a medida que sea necesario. En cualquier caso, todos los elementos presentes originalmente en *this ya sea se destruyen o se reemplazan por una asignación de movimiento de elemento por elemento.
3) Reemplaza el contenido con el de aquel identificado por la lista de inicializadores ilist.

Parámetros

other - El otro contenedor a usar como fuente de datos.
ilist - La lista de inicializadores a usar como fuente de datos.

Valor de retorno

*this

Complejidad

1) Lineal con respecto al tamaño de *this y other.
2) Lineal con respecto al tamaño de *this a menos que los asignadores de memoria no se comparen como iguales y no propaguen, en cuyo caso la complejidad será lineal con respecto al tamaño de *this y other.
3) Lineal con respecto al tamaño de *this y ilist.

Excepciones

2)
Especificación noexcept:   (desde C++11)
noexcept(std::allocator_traits<Allocator>::is_always_equal::value)
(desde C++17)

Notas

Después de la asignación de movimiento de un contenedor (sobrecarga (2)), a menos que se fuerce una asignación de movimiento de elemento por elemento por causa de asignadores incompatibles, las referencias, punteros e iteradores (distintos al iterador el final) a other siguen siendo válidos, pero se refieren a los elementos que ahora se encuentran en *this. El estándar actual da esta garantía mediante una afirmación general en [container.requirements.general]/12, y una garantía más directa está bajo consideración mediante Asunto LWG 2321.

Ejemplo

Plantilla:cpp/container/forward list/example operator=

Véase también

Construye el contenedor forward_list.
(función miembro pública) [editar]
(C++11)
Asigna valores al contenedor.
(función miembro pública) [editar]