std::forward_list::insert_range_after
De cppreference.com
template< rango-compatible-con-contenedores<T> R >
iterator insert_range_after( const_iterator pos, R&& rg );
|
(desde C++23) | |
Inserta, en orden no inverso, las copias de los elementos en rg antes de pos. Cada iterador en el rango rg se desreferencia exactamente una vez.
pos debe ser cualquier iterador desreferenciable en el rango [begin(), end()) o el iterador before_begin() (por lo tanto, end() no es un argumento válido para pos).
Ningún iterador o referencia queda invalidado.
El comportamiento no está definido si rg se superpone con el contenedor.
Parámetros
| pos | - | Un iterador después del cual se insertará el contenido. |
| 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 forward_list de *ranges::begin(rg). De lo contrario, el comportamiento no está definido.
|
Valor de retorno
Un iterador que apunta a la copia del último elemento insertado en forward_list o a pos si rg está vacío.
Complejidad
Lineal en tamaño de rg.
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. |
Ejemplo
Ejecuta este código
#include <algorithm>
#include <cassert>
#include <forward_list>
#include <iterator>
#include <vector>
int main()
{
auto container = std::forward_list{1, 2, 3, 4};
auto pos = std::next(container.cbegin());
assert(*pos == 2);
const auto rg = std::vector{-1, -2, -3};
#ifdef __cpp_lib_containers_ranges
container.insert_range_after(pos, rg);
#else
container.insert_after(pos, rg.cbegin(), rg.cend());
#endif
assert(std::ranges::equal(container, std::vector{1, 2, -1, -2, -3, 3, 4}));
}
Véase también
(C++23) |
Agrega un rango de elementos al principio. (función miembro pública) |
(C++11) |
Inserta elementos después de un elemento. (función miembro pública) |
(C++11) |
Construye elementos en el sitio después de un elemento. (función miembro pública) |