Namespaces
Variants

std::forward_list<T,Allocator>:: erase_after

From cppreference.net
iterator erase_after ( const_iterator pos ) ;
(1) (desde C++11)
(constexpr desde C++26)
iterator erase_after ( const_iterator first, const_iterator last ) ;
(2) (desde C++11)
(constexpr desde C++26)

Elimina los elementos especificados del contenedor.

1) Elimina el elemento que sigue a pos .
Si el iterador que sigue a pos no es dereferenciable, el comportamiento es indefinido.
2) Elimina los elementos en el rango ( first , last ) .
Si cualquier iterador en el rango ( first , last ) no es desreferenciable, el comportamiento es indefinido.

Contenidos

Parámetros

pos - iterador al elemento que precede al elemento a eliminar
first, last - el par de iteradores que define el rango de elementos a eliminar

Valor de retorno

1) Iterador al elemento siguiente al eliminado, o end() si no existe tal elemento.
2) last

Complejidad

1) Constante.
2) Lineal en la distancia entre first y last .

Excepciones

No lanza nada.

Ejemplo

#include <forward_list>
#include <iostream>
#include <iterator>
int main()
{
    std::forward_list<int> l = {1, 2, 3, 4, 5, 6, 7, 8, 9};
//  l.erase(l.begin()); // Error: no function erase()
    l.erase_after(l.before_begin()); // Elimina el primer elemento
    for (auto n : l)
        std::cout << n << ' ';
    std::cout << '\n';
    auto fi = std::next(l.begin());
    auto la = std::next(fi, 3);
    l.erase_after(fi, la);
    for (auto n : l)
        std::cout << n << ' ';
    std::cout << '\n';
}

Salida:

2 3 4 5 6 7 8 9
2 3 6 7 8 9

Véase también

borra el contenido
(función miembro pública)