It is an associative container that store unique elements in no particular order, and which allow for fast retrieval of individual elements based on their value.
Below is definition of std::unordered_set
template < class Key, class Hash = hash<Key>, class Pred = equal_to<Key>, class Alloc = allocator<Key> > class unordered_set;
Key − It defines the type of element.
Hash − It is a unary function object.
Pred − It is a binary predicate that takes two arguments of the same type as the elements and returns a bool.
Alloc − It defines the type of allowcater.
Following member types can be used as parameters or return type by member functions.
member type | definition | notes |
---|---|---|
key_type | It is the first template parameter (Key) | |
value_type | It is the first template parameter (Key) | The same as key_type |
hasher | It is the second template parameter (Hash) | defaults to: hash<key_type> |
key_equal | It is the third template parameter (Pred) | defaults to: equal_to<key_type> |
allocator_type | It is the fourth template parameter (Alloc) | defaults to: allocator<value_type> |
reference | Alloc::reference | |
const_reference | Alloc::const_reference | |
pointer | Alloc::pointer | for the default allocator: value_type* |
const_pointer | Alloc::const_pointer | for the default allocator: const value_type* |
iterator | a forward iterator to const value_type | * convertible to const_iterator |
const_iterator | a forward iterator to const value_type | * |
local_iterator | a forward iterator to const value_type | * convertible to const_local_iterator |
const_local_iterator | a forward iterator to const value_type | * |
size_type | an unsigned integral type | usually the same as size_t |
difference_type | a signed integral type | usually the same as ptrdiff_t |
Below is list of member functions
Sr.No. | Method & Description |
---|---|
1 | (constructor)
It constructs unordered_set. |
2 | (destructor)
It destroys unordered_set. |
3 | operator=
It is used to assign the content. |
Sr.No. | Capacity & Description |
---|---|
1 | empty
It is used to test whether container is empty. |
2 | size
It returns container size. |
3 | max_size
It returns maximum size. |
Sr.No. | Iterators & Description |
---|---|
1 | begin
It returns iterator to beginning. |
2 | end
It returns iterator to end. |
3 | cbegin
It returns const_iterator to beginning. |
4 | cend
It return const_iterator to end. |
Sr.No. | Element lookup & Description |
---|---|
1 | find
It is used to get iterator to element. |
2 | count
It is used to count elements with a specific key. |
3 | equal_range
It is used to get range of elements with a specific key. |
Sr.No. | Modifiers & Description |
---|---|
1 | emplace
It is used to construct and insert element. |
2 | emplace_hint
It is used to construct and insert element with hint. |
3 | insert
It is used to insert elements. |
4 | erase
It is used to erase elements. |
5 | clear
It is used to clear content. |
6 | swap
It is used to swap content. |
Sr.No. | Buckets & Description |
---|---|
1 | bucket_count
It returns number of buckets. |
2 | max_bucket_count
It returns maximum number of buckets. |
3 | bucket_size
It returns bucket size. |
4 | bucket
It locates element's bucket. |
Sr.No. | Hash policy & Description |
---|---|
1 | load_factor
It returns load factor. |
2 | max_load_factor
It is used to get or set maximum load factor. |
3 | rehash
It is used to set number of buckets. |
4 | reserve
It gives a request to capacity chage of backets |
Sr.No. | Observers & Description |
---|---|
1 | hash_function
It is used to get hash function. |
2 | key_eq
It is used to get key equivalence predicate. |
3 | get_allocator
It is used to get allocator. |
Sr.No. | Non-member function overloads & Description |
---|---|
1 | operators (unordered_set)
It is used to get hash function. |
2 | swap (unordered_set)
It exchanges contents of two unordered_set containers. |
Sr.No. | Non-member function overloads & Description |
---|---|
1 | operators (unordered_set)
It is used to get hash function. |
2 | swap (unordered_set)
It exchanges contents of two unordered_set containers. |