##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::unordered_set::unordered_set

From cppreference.com
< cpp‎ | container‎ | unordered set

[edit template]

explicit unordered_set( size_type bucket_count = /*implementation-defined*/, const Hash& hash = Hash(), const KeyEqual& equal = KeyEqual(), const Allocator& alloc = Allocator() ); unordered_set( size_type bucket_count, const Allocator& alloc = Allocator() ); unordered_set( size_type bucket_count, const Hash& hash, const Allocator& alloc = Allocator() ); | (1) | (since C++11) (since C++14)
explicit unordered_set( const Allocator& alloc ); | (1) | (since C++11)
template< class InputIt > unordered_set( InputIt first, InputIt last, size_type bucket_count = /*implementation-defined*/, const Hash& hash = Hash(), const KeyEqual& equal = KeyEqual(), const Allocator& alloc = Allocator() ); template< class InputIt > unordered_set( InputIt first, InputIt last, size_type bucket_count, const Allocator& alloc = Allocator() ); template< class InputIt > unordered_set( InputIt first, InputIt last, size_type bucket_count, const Hash& hash, const Allocator& alloc = Allocator() ); | (2) | (since C++11) (since C++14)
unordered_set( const unordered_set& other ); | (3) | (since C++11)
unordered_set( const unordered_set& other, const Allocator& alloc ); | (3) | (since C++11)
unordered_set( unordered_set&& other ); | (4) | (since C++11)
unordered_set( unordered_set&& other, const Allocator& alloc ); | (4) | (since C++11)
unordered_set( std::initializer_list<value_type> init, size_type bucket_count = /*implementation-defined*/, const Hash& hash = Hash(), const KeyEqual& equal = KeyEqual(), const Allocator& alloc = Allocator() ); unordered_set( std::initializer_list<value_type> init, size_type bucket_count, const Allocator& alloc = Allocator() ); unordered_set( std::initializer_list<value_type> init, size_type bucket_count, const Hash& hash, const Allocator& alloc = Allocator() ); | (5) | (since C++11) (since C++14)

Constructs new container from a variety of data sources. Optionally uses user supplied `bucket_count` as a minimal number of buckets to create, `hash` as the hash function, `equal` as the function to compare keys and `alloc` as the allocator.

1) default constructor. Constructs empty container.

2) constructs the container with the contents of the range `[first, last)`.

3) copy constructor. Constructs the container with the copy of the contents of `other`. If `alloc` is not provided, allocator is obtained by calling std::allocator_traits<allocator_type>::select_on_copy_construction(other).

4) move constructor. Constructs the container with the contents of `other` using move semantics. If `alloc` is not provided, allocator is obtained by move-construction from the allocator belonging to `other`.

5) constructs the container with the contents of the initializer list `init`.

### [edit] Parameters

alloc | - | allocator to use for all memory allocations of this container
bucket_count | - | minimal number of buckets to use on initialization. If it is not specified, implementation-defined default value is used
hash | - | hash function to use
equal | - | comparison function to use for all key comparisons of this container
first, last | - | the range to copy the elements from
other | - | another container to be used as source to initialize the elements of the container with
init | - | initializer list to initialize the elements of the container with
Type requirements
- `InputIt` must meet the requirements of `InputIterator`.

### [edit] Complexity

| This section is incomplete

1) constant

2) linear in distance between `first` and `last`

3) linear in size of `other`

4) constant. If `alloc` is given and alloc != other.get_allocator(), then linear.

5) linear in size of `init`

### [edit] Example

| This section is incomplete Reason: no example

### [edit] See also

operator= | assigns values to the container (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/unordered_set/unordered_set&oldid=50798"
Categories:

- Todo without reason
- Todo no example