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)
.
Contents |
[edit] Parameters
pos | - | iterator to the element preceding the element to remove |
first, last | - | range of elements to remove |
[edit] Return value
1) Iterator to the element following the erased one, or end() if no such element exists.
2)
last
[edit] Complexity
1) Constant.
2) Linear in distance between
first
and last
.[edit] 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
[edit] See also
clears the contents (public member function) |