CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 31 Jul 2025 16:29:18 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/forward_list/forward_list/erase_after/
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 31 Jul 2025 16:29:18 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"8b95-Eq6TsiE9J7ZtwgEeo2vPTNX8R/Y"
Content-Encoding: gzip
Removes from the forward_list container either a single element (the one after position) or a range of elements ((position,last)).
This effectively reduces the container size by the number of elements removed, which are destroyed.
Unlike other standard sequence containers, list and forward_list objects are specifically designed to be efficient inserting and removing elements in any position, even in the middle of the sequence.
If the operation erased the last element in the sequence, the value returned is end.
Member type iterator is a forward iterator type that points to elements.
Output:
All other iterators, pointers and references keep their validity.
The elements removed are modified. Concurrently accessing or modifying other elements is safe, although iterating ranges that include the removed elements is not.
Otherwise, it causes undefined behavior.
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<forward_list>
-
forward_listC++11
forward_list
-
forward_list::~forward_listC++11
-
forward_list::forward_listC++11
member functions
-
forward_list::assignC++11
-
forward_list::before_beginC++11
-
forward_list::beginC++11
-
forward_list::cbefore_beginC++11
-
forward_list::cbeginC++11
-
forward_list::cendC++11
-
forward_list::clearC++11
-
forward_list::emplace_afterC++11
-
forward_list::emplace_frontC++11
-
forward_list::emptyC++11
-
forward_list::endC++11
-
forward_list::erase_afterC++11
-
forward_list::frontC++11
-
forward_list::get_allocatorC++11
-
forward_list::insert_afterC++11
-
forward_list::max_sizeC++11
-
forward_list::mergeC++11
-
forward_list::operator=C++11
-
forward_list::pop_frontC++11
-
forward_list::push_frontC++11
-
forward_list::removeC++11
-
forward_list::remove_ifC++11
-
forward_list::resizeC++11
-
forward_list::reverseC++11
-
forward_list::sortC++11
-
forward_list::splice_afterC++11
-
forward_list::swapC++11
-
forward_list::uniqueC++11
-
non-member overloads
- Reference
- <forward_list>
- forward_list
- erase_after
public member function
<forward_list>
std::forward_list::erase_after
iterator erase_after (const_iterator position);iterator erase_after (const_iterator position, const_iterator last);
Erase elements
This effectively reduces the container size by the number of elements removed, which are destroyed.
Unlike other standard sequence containers, list and forward_list objects are specifically designed to be efficient inserting and removing elements in any position, even in the middle of the sequence.
Parameters
- position
- Iterator pointing to an element in the forward_list container. The (first) element removed is the one after this.
Member type const_iterator is a forward iterator type that points to elements. - last
- Iterator pointing to the element after the last one to be removed. The range of elements removed is the open interval (position,last), which includes all the elements between position and last, but not position nor last themselves.
Member type const_iterator is a forward iterator type that points to elements.
Return value
An iterator pointing to the element that follows the last element erased by the function call, which is last for the second version.If the operation erased the last element in the sequence, the value returned is end.
Member type iterator is a forward iterator type that points to elements.
Example
|
|
mylist contains: 10 30 |
Complexity
Linear in the number of elements erased (destructions).Iterator validity
Iterators, pointers and references referring to elements removed by the function are invalidated.All other iterators, pointers and references keep their validity.
Data races
The container is modified.The elements removed are modified. Concurrently accessing or modifying other elements is safe, although iterating ranges that include the removed elements is not.
Exception safety
If position (or the range) is valid, the function never throws exceptions (no-throw guarantee).Otherwise, it causes undefined behavior.
See also
- forward_list::remove
- Remove elements with specific value (public member function)
- forward_list::unique
- Remove duplicate values (public member function)
- forward_list::splice_after
- Transfer elements from another forward_list (public member function)
- forward_list::insert_after
- Insert elements (public member function)
- forward_list::pop_front
- Delete first element (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us