Skip to main content

std::forward_list erase_after() method

// (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 until 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 - O(1).
  • (2) Linear in distance between first and last - 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.

std::forward_list erase_after() method

// (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 until 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 - O(1).
  • (2) Linear in distance between first and last - 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.