CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Jul 2025 17:29:52 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/forward_list/forward_list/remove_if/
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 24 Jul 2025 17:29:53 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"87d8-tvy+yWiuVIGwNQcm0tOtkeun2PA"
Content-Encoding: gzip
Removes from the container all the elements for which Predicate pred returns true. This calls the destructor of these objects and reduces the container size by the number of elements removed.
The function calls pred(*i) for each element (where i is an iterator to that element). Any of the elements in the list for which this returns true, are removed from the container.
Output:
All other iterators, pointers and reference keep their validity.
The elements removed are modified. Concurrently accessing or modifying other elements is safe, although iterating through the container is not.
Otherwise, if an exception is thrown, the container is left in a valid state (basic guarantee).
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
- remove_if
public member function template
<forward_list>
std::forward_list::remove_if
template <class Predicate> void remove_if (Predicate pred);
Remove elements fulfilling condition
The function calls pred(*i) for each element (where i is an iterator to that element). Any of the elements in the list for which this returns true, are removed from the container.
Parameters
- pred
- Unary predicate that, taking a value of the same type as those contained in the forward_list object, returns true for those values to be removed from the container, and false for those remaining.
This can either be a function pointer or a function object.
Return value
noneExample
|
|
Output:
mylist contains: 80 52 |
Complexity
Linear in container size (applications of pred).Iterator validity
Iterators, pointers and references referring to elements removed by the function are invalidated.All other iterators, pointers and reference keep their validity.
Data races
The container is modified.The elements removed are modified. Concurrently accessing or modifying other elements is safe, although iterating through the container is not.
Exception safety
If pred is guaranteed to not throw, the function never throws exceptions (no-throw guarantee).Otherwise, if an exception is thrown, the container is left in a valid state (basic guarantee).
See also
- forward_list::remove
- Remove elements with specific value (public member function)
- forward_list::erase_after
- Erase elements (public member function)
- forward_list::unique
- Remove duplicate values (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