std::experi...ordered_set)(3)
π NAME
std::experimental::erase_if(std::unordered_set) β bestie, this is the std::experimental::erase_if(std::unordered_set) page, no cap. It lives in the C++ Standard Library, and the page title vibe is std::experi...ordered_set)(3).
β¨ Synopsis
Defined in header <experimental/unordered_set>.
This one is tagged library fundamentals TS v2, iykyk:
template< class Key, class Hash, class KeyEqual, class Alloc, class Pred >
void erase_if( std::unordered_set<Key, Hash, KeyEqual, Alloc>& c, Pred pred );
It erases all elements that satisfy the predicate pred from the container. Equivalent to:
for (auto i = c.begin(), last = c.end(); i != last;)
{
if (pred(*i))
i = c.erase(i);
else
++i;
}
π Parameters
cβ container from which to erase. That's the main character container, periodt.predβ predicate that determines which elements should be erased. It's giving "vibe check, but for elements."
πΈ Complexity
Linear. Literally linear, bestie. That's the whole complexity tea.
π¦ Example
// Run this code
#include <experimental/unordered_set>
#include <iostream>
template<typename Os, typename Container>
inline Os& operator<<(Os& os, Container const& container)
{
os << "{ ";
for (const auto& item : container)
os << item << ' ';
return os << '}';
}
int main()
{
std::unordered_set<int> data{3, 3, 4, 5, 5, 6, 6, 7, 2, 1, 0};
std::cout << "Original:\n" << data << '\n';
auto divisible_by_3 = [](auto const& x) { return (x % 3) == 0; };
std::experimental::erase_if(data, divisible_by_3);
std::cout << "Erase all items divisible by 3:\n" << data << '\n';
}
Possible output:
Original:
{ 0 1 2 7 6 5 4 3 }
Erase all items divisible by 3:
{ 1 2 7 5 4 }
π See also
removeβ removes elements satisfying specific criteriaremove_ifβ (function template)
π Category
- Noindexed pages
okay so that's the page, bestie π«Ά β source/version/date energy: http://cppreference.com, 2024.06.10. Obsessed with this footer moment, fr fr π
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms