std::deque<T,Allocator>::append_range
De cppreference.com
template< rango-compatible-con-contenedores<T> R > void append_range( R&& rg ); |
(desde C++23) | |
Inserta copias de elementos del rango rg antes de end()
, en orden no inverso.
Cada iterador en rg se desreferencia exactamente una vez.
Contenido |
[editar] Parámetros
rg | - | Un rango compatible con contenedores, es decir, un input_range cuyos elementos son convertibles a T .
|
Requisitos de tipo | ||
-T debe ser EmplaceConstructible en deque de *ranges::begin(rg). De lo contrario, el comportamiento no está definido.
|
[editar] Valor de retorno
(Ninguno)
[editar] Complejidad
Lineal en tamaño de rg. El número de llamadas al constructor de T
es exactamente igual al std::ranges::size(rg)).
[editar] Excepciones
Si se lanza una excepción que no sea por el constructor de copia, el constructor de movimiento, el operador de asignación o el operador de asignación de movimiento de T
, no hay efectos. Si se lanza una excepción al insertar un solo elemento en cualquier extremo, no hay efectos. De lo contrario, si la excepción se lanza por el constructor de movimiento de un tipo T
que no es CopyInsertable, los efectos no se especifican.
[editar] Notas
Macro de Prueba de característica | Valor | Estándar | Comentario |
---|---|---|---|
__cpp_lib_containers_ranges |
202202L | (C++23) | Construcción e inserción consciente de rangos. |
[editar] Ejemplo
Ejecuta este código
#include <algorithm> #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(std::ranges::equal(head, std::deque{1, 2, 3, 4, -5, -6, -7})); }
[editar] Véase también
(C++23) |
Agrega un rango de elementos al principio. (función miembro pública) |
(C++23) |
Inserta un rango de elementos. (función miembro pública) |
Agrega elementos al final. (función miembro pública) | |
(C++11) |
Construye un elemento en el sitio al final. (función miembro pública) |