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.
If the iterator following pos is not dereferceable, the behavior is undefined.
2) Removes the elements in the range (
first,
last)
.
If any iterator in the range (
first,
last)
is not dereferceable, the behavior is undefined.
Iterator to the element following the erased one, or
end()if no such element exists.
2) last
[edit] Complexity1) Constant.
2) Linear in distance between first and last.
[edit] ExceptionsThrows nothing.
[edit] Example#include <forward_list> #include <iostream> #include <iterator> 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4