Espacios de nombres
Variantes
Acciones

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

De cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
template< rango-compatible-con-contenedores<T> R >
void prepend_range( R&& rg );
(desde C++23)

Inserta, en orden no inverso, copias de elementos en rg antes de begin(). Cada iterador en el rango 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). También, T debe ser MoveInsertable en deque y T satisface MoveConstructible, MoveAssignable, y Swappable. De lo contrario, el comportamiento no está definido.

[editar] Valor de retorno

(Ninguno)

[editar] Complejidad

Lineal en tamaño de rg.

[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

#include <algorithm>
#include <cassert>
#include <deque>
#include <vector>
 
int main()
{
    auto container = std::deque{0, 1, 2, 3};
    const auto rg = std::vector{-3, -2, -1};
 
#if __cpp_lib_containers_ranges
    container.prepend_range(rg);
#else
    container.insert(container.begin(), rg.cbegin(), rg.cend());
#endif
    assert(std::ranges::equal(container, std::deque{-3, -2, -1, 0, 1, 2, 3}));
}


[editar] Véase también

Agrega un rango de elementos al final.
(función miembro pública)
Inserta un rango de elementos.
(función miembro pública)
Inserta un elemento al principio del contenedor.
(función miembro pública)
Construye un elemento en el sitio al principio del contenedor.
(función miembro pública)