std::forward_list erase_after() method
- since C++11
// (1) Non const version only
iterator erase( const_iterator pos );
// (2) Non const version only
iterator erase( const_iterator first, const_iterator last );
Erases the specified elements from the container.
- (1) Removes the element following
pos
. - (2) Removes the elements folowing
first
untillast
.
Parameters
pos
- iterator to the element preceding the element to removefirst
,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 - O(1).
- (2) Linear in distance between
first
andlast
- O(std::distance(first, last)).
Exceptions
(none)
Example
Main.cpp
#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
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.
Hover to see the original license.