std::list<T,Allocator>::remove, remove_if
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
|   void remove( const T& value );  | 
(until C++20) | |
|   size_type remove( const T& value );  | 
(since C++20) | |
|   template< class UnaryPredicate > void remove_if( UnaryPredicate p );  | 
(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
Output:
2 3 10 -1
See also
|    removes elements satisfying specific criteria   (function template)  |