(C++17) | ||||
| Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
| Associative | ||||
| Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
| Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Views | ||||
(C++20) | ||||
(C++23) | ||||
| Tables | ||||
| Iterator invalidation | ||||
| Member function table | ||||
| Non-member function table |
| Member types | |||||||||||
| Member functions | |||||||||||
| Non-member functions | |||||||||||
| |||||||||||
Defined in header <inplace_vector> | ||
template<class T,std::size_t N,class U= T> constexprtypenamestd::inplace_vector<T, N>::size_type | (1) | (since C++26) |
template<class T,std::size_t N,class Pred> constexprtypenamestd::inplace_vector<T, N>::size_type | (2) | (since C++26) |
Contents |
| c | - | container from which to erase |
| value | - | value to be removed |
| pred | - | unary predicate which returns true if the element should be erased. The expressionpred(v) must be convertible tobool for every argument |
The number of erased elements.
Linear.
#include <cassert>#include <complex>#include <inplace_vector>#include <numeric>#include <print> int main(){std::inplace_vector<int,10> v(10,0); std::ranges::iota(v,0);std::println("Initially, v = {}", v); auto erased=std::erase(v,3);std::println("After erase(v, 3), v = {}", v);assert(erased==1); erased=std::erase_if(v,[](int x){return x%2==0;});std::println("After erasing all even numbers, v = {}", v);std::println("Erased even numbers: {}", erased); std::inplace_vector<std::complex<double>> nums{{2,2},{4,2},{4,8},{4,2}};std::erase(nums,{4,2});// since U = T, the value type can be ommitedstd::println("After erase {4, 2}, nums = {}", nums);}
Output:
Initially, v = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]After erase(v, 3), v = [0, 1, 2, 4, 5, 6, 7, 8, 9]After erasing all even numbers, v = [1, 5, 7, 9]Erased even numbers: 5After erase {4, 2}, nums = [(2,2), (4,8)]| removes elements satisfying specific criteria (function template)[edit] | |
(C++20)(C++20) | removes elements satisfying specific criteria (algorithm function object)[edit] |