Namespaces
Variants

std::deque<T,Allocator>:: append_range

From cppreference.net

template < container-compatible-range < T > R >
void append_range ( R && rg ) ;
(desde C++23)
(constexpr desde C++26)

Inserta copias de elementos del rango rg antes de end() , en orden no inverso.

Todos los iteradores (incluyendo el end() iterator) quedan invalidados. Ninguna referencia queda invalidada.

Cada iterador en rg es desreferenciado exactamente una vez.

Contenidos

Parámetros

rg - un rango compatible con contenedor , es decir, un input_range cuyos elementos son convertibles a T
Requisitos de tipo
-
Si T no es EmplaceConstructible en deque desde * ranges:: begin ( rg ) , el comportamiento es indefinido.

Complejidad

Lineal en tamaño de rg . El número de llamadas al constructor de T es exactamente igual al std :: ranges:: size ( rg ) ) .

Excepciones

Si se lanza una excepción que no sea por el constructor de copia, constructor de movimiento, operador de asignación u operador de asignación de movimiento de T no hay efectos. Si se lanza una excepción mientras se inserta un único elemento en cualquiera de los extremos, no hay efectos. En caso contrario, si se lanza una excepción por el constructor de movimiento de un CopyInsertable T no copiable, los efectos no están especificados.

Notas

Macro de prueba de características Valor Std Característica
__cpp_lib_containers_ranges 202202L (C++23) Construcción e inserción con reconocimiento de rangos

Ejemplo

#include <cassert>
#include <deque>
#include <list>
int main()
{
    auto head = std::deque{1, 2, 3, 4};
    const auto tail = std::list{-5, -6, -7};
#ifdef __cpp_lib_containers_ranges
    head.append_range(tail);
#else
    head.insert(head.end(), tail.cbegin(), tail.cend());
#endif
    assert((head == std::deque{1, 2, 3, 4, -5, -6, -7}));
}

Véase también

añade un rango de elementos al principio
(función miembro pública)
inserta un rango de elementos
(función miembro pública)
añade un elemento al final
(función miembro pública)
construye un elemento in-situ al final
(función miembro pública)