Espacios de nombres
Variantes

std::forward_list::erase_after

De cppreference.com
 
 
 
 
iterator erase_after( const_iterator pos );
(1) (desde C++11)
iterator erase_after( const_iterator first, const_iterator last );
(2) (desde C++11)

Elimina del contenedor los elementos especificados.

1) Elimina el elemento que sigue de pos.
2) Elimina los elementos que siguen de first hasta last.

Parámetros

pos - Iterador al elemento que precede al elemento a eliminar.
first, last - Rango de elementos a eliminar.

Valor de retorno

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

Complejidad

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

Ejemplo

#include <forward_list>
#include <iterator>
#include <iostream>
int main()
{
    std::forward_list<int> l = {1, 2, 3, 4, 5, 6, 7, 8, 9};

    // l.erase(l.begin()); // ERROR: no hay función 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

(C++11)
Borra el contenido.
(función miembro pública) [editar]