Namespaces
Variants
Views
Actions

std::forward_list::erase_after

From cppreference.com
< cpp‎ | container‎ | forward list
Revision as of 21:09, 2 November 2012 by P12bot (Talk | contribs)

Template:ddcl list begin <tr class="t-dcl-sep"><td></td><td></td><td></td></tr>

<tr class="t-dcl ">

<td >
iterator erase_after( const_iterator position );
</td>

<td > (1) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl-sep"><td></td><td></td><td></td></tr>

<tr class="t-dcl ">

<td >
iterator erase_after( const_iterator first, const_iterator last );
</td>

<td > (2) </td> <td > (since C++11) </td> </tr> Template:ddcl list end

Removes specified elements from the container.

1) Removes the element following pos.

2) Removes the elements in the range (first; last).

Contents

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 Template:rlpf if no such element exists.

2) last

Complexity

1) Constant.

2) linear in distance between first and last.

Example

#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

Template:cpp/container/dcl list clear