std::unorde...t::contains(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

✨ std::unordered_set::contains ✨

okay so bestie, welcome to the <std::unorde...t::contains(3)> page from the C++ Standard Libary (yes, that’s how it’s spelled up top, and we’re respecting the lore πŸ’…). This whole page is about checking whether a key is in an unordered_set, and it is lowkey iconic.


πŸŽ€ NAME πŸŽ€

std::unordered_set::contains β€” std::unordered_set::contains

🌸 Synopsis 🌸

bool contains( const Key& key ) const; (1) (since C++20)
template< class K >                    (2) (since C++20)
bool contains( const K& x ) const;
  • (1) Checks if there is an element with key equivalent to key in the container. πŸ’–
  • (2) Checks if there is an element with key that compares equivalent to the value x. This overload participates in overload resolution only if Hash::is_transparent and KeyEqual::is_transparent are valid and each denotes a type. This assumes that such Hash is callable with both K and Key type, and that the KeyEqual is transparent, which, together, allows calling this function without constructing an instance of Key. no cap, that’s the whole transparent-comparison vibe πŸ¦‹

πŸ¦‹ Parameters πŸ¦‹

  • key β€” key value of the element to search for.
  • x β€” a value of any type that can be transparently compared with a key.

πŸ’– Return value πŸ’–

true if there is such an element, otherwise false. simple as that, bestie ✨

πŸ”₯ Complexity πŸ”₯

Constant on average, worst case linear in the size of the container. so average girlie is fast ⚑ and worst case is giving β€œwe’re checking the whole container” energy 😭

🌈 Example 🌈

// Run this code

#include <iostream>
#include <unordered_set>

int main()
{
    std::unordered_set<int> example{1, 2, 3, 4};

    for (int x : {2, 5})
        if (example.contains(x))
            std::cout << x << ": Found\n";
        else
            std::cout << x << ": Not found\n";
}

πŸ“ Output πŸ“

2: Found
5: Not found

πŸ‘‘ See also πŸ‘‘

  • find β€” finds element with specific key (public member function).
  • count β€” returns the number of elements matching specific key (public member function).
  • equal_range β€” returns range of elements matching a specific key (public member function).

okay that’s the page, bestie 🫢 source/version/date: http://cppreference.com, 2024.06.10, and the manual-page label is std::unorde...t::contains(3). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from