public member function
<unordered_set>
std::unordered_set::insert (1)pair<iterator,bool> insert ( const value_type& val );(2)
pair<iterator,bool> insert ( value_type&& val );(3)
iterator insert ( const_iterator hint, const value_type& val );(4)
iterator insert ( const_iterator hint, value_type&& val );(5)
template <class InputIterator> void insert ( InputIterator first, InputIterator last );(6)
void insert ( initializer_list<value_type> il );
Insert elements
Inserts new elements in the unordered_set.Each element is inserted only if it is not equivalent to any other element already in the container (elements in an unordered_set have unique values).
This effectively increases the container size by the number of elements inserted.
The parameters determine how many elements are inserted and to which values they are initialized:
In versions (3) and (4), the function returns an iterator pointing either to the newly inserted element in the container or to the element whose key is equivalent.
Versions (5) and (6) return no value.
Member type iterator is a forward iterator type.
All iterators in an unordered_set have const access to the elements: Elements can be inserted or removed, but not modified while in the container.
The storage for the new element is allocated using allocator_traits<allocator_type>::construct(), which may throw exceptions on failure (for the default allocator, bad_alloc is thrown if the allocation request does not succeed).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// unordered_set::insert
#include <iostream>
#include <string>
#include <array>
#include <unordered_set>
int main ()
{
std::unordered_set<std::string> myset = {"yellow","green","blue"};
std::array<std::string,2> myarray = {"black","white"};
std::string mystring = "red";
myset.insert (mystring); // copy insertion
myset.insert (mystring+"dish"); // move insertion
myset.insert (myarray.begin(), myarray.end()); // range insertion
myset.insert ( {"purple","orange"} ); // initializer list insertion
std::cout << "myset contains:";
for (const std::string& x: myset) std::cout << " " << x;
std::cout << std::endl;
return 0;
}
myset contains: green blue reddish white yellow black red orange purple
A rehash is forced if the new container size after the insertion operation would increase above its capacity threshold (calculated as the container's bucket_count multiplied by its max_load_factor).
References to elements in the unordered_set container remain valid in all cases, even after a rehash.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4