Functions | |
| template<typename I , typename C , typename P = identity> requires bidirectional_iterator<I> && permutable<I> && indirect_unary_predicate<C, projected<I, P>> | |
| constexpr I | ranges::unstable_remove_if (I first, I last, C pred, P proj={}) |
| unstable_remove have O(1) complexity for each element remove, unlike remove O(n) [for worst case]. Each erased element overwritten (moved in) with last one. unstable_remove_if does not preserve relative element order. More... | |
|
template<typename Rng , typename C , typename P = identity> requires bidirectional_range<Rng> && common_range<Rng> && permutable<iterator_t<Rng>> && indirect_unary_predicate<C, projected<iterator_t<Rng>, P>> | |
| constexpr borrowed_iterator_t< Rng > | ranges::unstable_remove_if (Rng &&rng, C pred, P proj=P{}) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |