# std::forward_list::erase_after

From cppreference.com
< cpp‎ | container‎ | forward list

iterator erase_after( const_iterator pos ); | (1) | (since C++11)
iterator erase_after( const_iterator first, const_iterator last ); | (2) | (since C++11)

Removes specified elements from the container.

1) Removes the element following `pos`.
2) Removes the elements in the range `(first; last)`.

### Parameters

pos | - | iterator to the element preceding the element to remove
first, last | - | range of elements to remove

### Return value

1) Iterator to the element following the erased one, or end() if no such element exists.
2) `last`

### Complexity

1) Constant.
2) Linear in distance between `first` and `last`.

### Example

Run this code

    #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 function erase

        l.erase_after( l.before_begin() ); // Removes first element

        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';
    }

Output:

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

### See also

clear | clears the contents (public member function)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/forward_list/erase_after&oldid=81941"