std::forward_list<T,Allocator>::remove, remove_if
From cppreference.com
                    
                                        
                    < cpp | container | forward list
                    
                                                            
                    
|   void remove( const T& value );  | 
 (since C++11)  (until C++20)  | 
|
|   size_type remove( const T& value );  | 
(since C++20) | |
|   template< class UnaryPredicate > void remove_if( UnaryPredicate p );  | 
 (since C++11)  (until C++20)  | 
|
|   template< class UnaryPredicate > size_type remove_if( UnaryPredicate p );  | 
(since C++20) | |
Removes all elements satisfying specific criteria. The first version removes all elements that are equal to value, the second version removes all elements for which predicate p returns true. 
Parameters
| value | - | value of the elements to remove | 
| p | - |   unary predicate which returns true  if the element should be removed.  The expression p(v) must be convertible to bool for every argument   | 
Return value
| 
 (none)  | 
(until C++20) | 
| 
 The number of elements removed.  | 
(since C++20) | 
Complexity
Linear in the size of the container
Example
Run this code
#include <forward_list> #include <iostream> int main() { std::forward_list<int> l = { 1,100,2,3,10,1,11,-1,12 }; l.remove(1); // remove both elements equal to 1 l.remove_if([](int n){ return n > 10; }); // remove all elements greater than 10 for (int n : l) { std::cout << n << ' '; } std::cout << '\n'; }
Output:
2 3 10 -1
See also
|    removes elements satisfying specific criteria   (function template)  |