std::list<T,Allocator>::remove,remove_if (3) - Linux Manuals
std::list<T,Allocator>::remove,remove_if: std::list<T,Allocator>::remove,remove_if
Command to display std::list<T,Allocator>::remove,remove_if
manual in Linux: $ man 3 std::list<T,Allocator>::remove,remove_if
NAME
std::list<T,Allocator>::remove,remove_if - std::list<T,Allocator>::remove,remove_if
Synopsis
void remove( const T& value ); (until C++20)
size_type remove( const T& value ); (since C++20)
template< class UnaryPredicate > (until C++20)
void remove_if( UnaryPredicate p );
template< class UnaryPredicate > (since C++20)
size_type remove_if( UnaryPredicate p );
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
unary predicate which returns true if the element should be removed.
p - The expression p(v) must be convertible to bool for every argument v of type (possibly const) T, regardless of value_category, and must not modify v. Thus, a parameter type of T&is not allowed
, nor is T unless for T a move is equivalent to a copy
(since C++11).
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 <list>
#include <iostream>
int main()
{
std::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
remove (function template)
remove_if
Pages related to std::list<T,Allocator>::remove,remove_if
- std::list<T,Allocator>::rend,std::list<T,Allocator>::crend (3) - std::list<T,Allocator>::rend,std::list<T,Allocator>::crend
- std::list<T,Allocator>::resize (3) - std::list<T,Allocator>::resize
- std::list<T,Allocator>::reverse (3) - std::list<T,Allocator>::reverse
- std::list<T,Allocator>::rbegin,std::list<T,Allocator>::crbegin (3) - std::list<T,Allocator>::rbegin,std::list<T,Allocator>::crbegin
- std::list<T,Allocator>::assign (3) - std::list<T,Allocator>::assign
- std::list<T,Allocator>::back (3) - std::list<T,Allocator>::back
- std::list<T,Allocator>::begin,std::list<T,Allocator>::cbegin (3) - std::list<T,Allocator>::begin,std::list<T,Allocator>::cbegin
- std::list<T,Allocator>::clear (3) - std::list<T,Allocator>::clear
- std::list<T,Allocator>::emplace (3) - std::list<T,Allocator>::emplace
- std::list<T,Allocator>::emplace_back (3) - std::list<T,Allocator>::emplace_back
- std::list<T,Allocator>::emplace_front (3) - std::list<T,Allocator>::emplace_front
- std::list<T,Allocator>::empty (3) - std::list<T,Allocator>::empty
- std::list<T,Allocator>::end,std::list<T,Allocator>::cend (3) - std::list<T,Allocator>::end,std::list<T,Allocator>::cend
- std::list<T,Allocator>::erase (3) - std::list<T,Allocator>::erase
- std::list<T,Allocator>::front (3) - std::list<T,Allocator>::front
- std::list<T,Allocator>::get_allocator (3) - std::list<T,Allocator>::get_allocator
- std::list<T,Allocator>::insert (3) - std::list<T,Allocator>::insert
- std::list<T,Allocator>::list (3) - std::list<T,Allocator>::list
- std::list<T,Allocator>::max_size (3) - std::list<T,Allocator>::max_size
- std::list<T,Allocator>::merge (3) - std::list<T,Allocator>::merge
- std::list<T,Allocator>::operator= (3) - std::list<T,Allocator>::operator=
- std::list<T,Allocator>::pop_back (3) - std::list<T,Allocator>::pop_back
- std::list<T,Allocator>::pop_front (3) - std::list<T,Allocator>::pop_front
- std::list<T,Allocator>::push_back (3) - std::list<T,Allocator>::push_back
- std::list<T,Allocator>::push_front (3) - std::list<T,Allocator>::push_front
- std::list<T,Allocator>::size (3) - std::list<T,Allocator>::size
- std::list<T,Allocator>::sort (3) - std::list<T,Allocator>::sort
- std::list<T,Allocator>::splice (3) - std::list<T,Allocator>::splice