std::deque<T,Allocator>::prepend_range
De cppreference.com
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
Ejecuta este código
#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
(C++23) |
Agrega un rango de elementos al final. (función miembro pública) |
(C++23) |
Inserta un rango de elementos. (función miembro pública) |
Inserta un elemento al principio del contenedor. (función miembro pública) | |
(C++11) |
Construye un elemento en el sitio al principio del contenedor. (función miembro pública) |