std::deque<T,Allocator>:: append_range
|
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 | ||
-
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
|
(C++23)
|
añade un rango de elementos al principio
(función miembro pública) |
|
(C++23)
|
inserta un rango de elementos
(función miembro pública) |
|
añade un elemento al final
(función miembro pública) |
|
|
(C++11)
|
construye un elemento in-situ al final
(función miembro pública) |