##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::hash (std::bitset)

From cppreference.com
< cpp‎ | utility‎ | bitset

template<size_t N> struct hash<bitset<N>>; |  | (since C++11)

The template specialization of std::hash for std::bitset<N> allows users to obtain hashes of objects of type std::bitset<N>.

### [edit] Example

The following code shows one possible output of a hash function used on several bitsets:

Run this code

    #include <iostream>
    #include <bitset>
    #include <functional>

    int main()
    {
        std::bitset<4> b1(1);
        std::bitset<4> b2(2);
        std::bitset<4> b3(b2);

        std::hash<std::bitset<4>> hash_fn;

        size_t h1 = hash_fn(b1);
        size_t h2 = hash_fn(b2);
        size_t h3 = hash_fn(b3);

        std::cout << h1 << '\n';
        std::cout << h2 << '\n';
        std::cout << h3 << '\n';
    }

Output:

    67918732
    118251589
    118251589

### [edit] See also

hash (C++11) | hash function object (class template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/bitset/hash&oldid=63075"