template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>mapped_type&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::at(constkey_type&__k)[inline]
Access to unordered_map data.
Parameters__k The key for which data should be retrieved.
Returns
A reference to the data whose key is equal to __k, if such a data is present in the unordered_map.
Exceptionsstd::out_of_range If no such data is present.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>constmapped_type&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::at(constkey_type&__k)const[inline]
Access to unordered_map data.
Parameters__k The key for which data should be retrieved.
Returns
A reference to the data whose key is equal to __k, if such a data is present in the unordered_map.
Exceptionsstd::out_of_range If no such data is present.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::begin()const[inline],[noexcept]
Returns a read-only (constant) iterator that points to the first element in the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::begin()[inline],[noexcept]
Returns a read/write iterator that points to the first element in the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>local_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::begin(size_type__n)[inline]
Returns a read/write iterator pointing to the first bucket element.
Parameters__n The bucket index.
Returns
A read/write local iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_local_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::begin(size_type__n)const[inline]
Returns a read-only (constant) iterator pointing to the first bucket element.
Parameters__n The bucket index.
Returns
A read-only local iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>size_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::bucket_count()const[inline],[noexcept]
Returns the number of buckets of the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::cbegin()const[inline],[noexcept]
Returns a read-only (constant) iterator that points to the first element in the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_local_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::cbegin(size_type__n)const[inline]
Returns a read-only (constant) iterator pointing to the first bucket element.
Parameters__n The bucket index.
Returns
A read-only local iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::cend()const[inline],[noexcept]
Returns a read-only (constant) iterator that points one past the last element in the unordered_map.
Referenced by std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert_or_assign(), and
std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::try_emplace().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_local_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::cend(size_type__n)const[inline]
Returns a read-only (constant) iterator pointing to one past the last bucket elements.
Parameters__n The bucket index.
Returns
A read-only local iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::clear()[inline],[noexcept]
Erases all elements in an unordered_map. Note that this function only erases the elements, and that if
the elements themselves are pointers, the pointed-to memory is not touched in any way. Managing the
pointer is the user's responsibility.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Kt>autostd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::contains(const_Kt&__x)const->decltype(_M_h._M_find_tr(__x),void(),true)
[inline]"
Finds whether an element with the given key exists.
Parameters__x Key of elements to be located.
Returns
True if there is any element with the specified key.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>boolstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::contains(constkey_type&__x)const[inline]
Finds whether an element with the given key exists.
Parameters__x Key of elements to be located.
Returns
True if there is any element with the specified key.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Kt>autostd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::count(const_Kt&__x)const->decltype(_M_h._M_count_tr(__x))
[inline]"
Finds the number of elements.
Parameters__x Key to count.
Returns
Number of elements with specified key.
This function only makes sense for unordered_multimap; for unordered_map the result will either be 0 (not
present) or 1 (present).
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>size_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::count(constkey_type&__x)const[inline]
Finds the number of elements.
Parameters__x Key to count.
Returns
Number of elements with specified key.
This function only makes sense for unordered_multimap; for unordered_map the result will either be 0 (not
present) or 1 (present).
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename..._Args>std::pair<iterator,bool>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::emplace(_Args&&...__args)[inline]
Attempts to build and insert a std::pair into the unordered_map.
Parameters__args Arguments used to generate a new pair instance (see std::piecewise_contruct for passing
arguments to each part of the pair constructor).
Returns
A pair, of which the first element is an iterator that points to the possibly inserted pair, and the
second is a bool that is true if the pair was actually inserted.
This function attempts to build and insert a (key, value) pair into the unordered_map. An unordered_map
relies on unique keys and thus a pair is only inserted if its first element (the key) is not already
present in the unordered_map.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename..._Args>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::emplace_hint(const_iterator__pos,_Args&&...__args)[inline]
Attempts to build and insert a std::pair into the unordered_map.
Parameters__pos An iterator that serves as a hint as to where the pair should be inserted.
__args Arguments used to generate a new pair instance (see std::piecewise_contruct for passing
arguments to each part of the pair constructor).
Returns
An iterator that points to the element with key of the std::pair built from __args (may or may not be
that std::pair).
This function is not concerned about whether the insertion took place, and thus does not return a boolean
like the single-argument emplace() does. Note that the first parameter is only a hint and can potentially
improve the performance of the insertion process. A bad hint would cause no gains in efficiency.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints
for more on hinting.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>boolstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::empty()const[inline],[noexcept]
Returns true if the unordered_map is empty.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::end()const[inline],[noexcept]
Returns a read-only (constant) iterator that points one past the last element in the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::end()[inline],[noexcept]
Returns a read/write iterator that points one past the last element in the unordered_map.
Referenced by std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::extract().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>local_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::end(size_type__n)[inline]
Returns a read/write iterator pointing to one past the last bucket elements.
Parameters__n The bucket index.
Returns
A read/write local iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_local_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::end(size_type__n)const[inline]
Returns a read-only (constant) iterator pointing to one past the last bucket elements.
Parameters__n The bucket index.
Returns
A read-only local iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Kt>autostd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::equal_range(const_Kt&__x)->decltype(_M_h._M_equal_range_tr(__x))
[inline]"
Finds a subsequence matching given key.
Parameters__x Key to be located.
Returns
Pair of iterators that possibly points to the subsequence matching given key.
This function probably only makes sense for unordered_multimap.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Kt>autostd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::equal_range(const_Kt&__x)const->decltype(_M_h._M_equal_range_tr(__x))
[inline]"
Finds a subsequence matching given key.
Parameters__x Key to be located.
Returns
Pair of iterators that possibly points to the subsequence matching given key.
This function probably only makes sense for unordered_multimap.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>std::pair<iterator,iterator>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::equal_range(constkey_type&__x)[inline]
Finds a subsequence matching given key.
Parameters__x Key to be located.
Returns
Pair of iterators that possibly points to the subsequence matching given key.
This function probably only makes sense for unordered_multimap.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>std::pair<const_iterator,const_iterator>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::equal_range(constkey_type&__x)const[inline]
Finds a subsequence matching given key.
Parameters__x Key to be located.
Returns
Pair of iterators that possibly points to the subsequence matching given key.
This function probably only makes sense for unordered_multimap.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>size_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::erase(constkey_type&__x)[inline]
Erases elements according to the provided key.
Parameters__x Key of element to be erased.
Returns
The number of elements erased.
This function erases all the elements located by the given key from an unordered_map. For an
unordered_map the result of this function can only be 0 (not present) or 1 (present). Note that this
function only erases the element, and that if the element is itself a pointer, the pointed-to memory is
not touched in any way. Managing the pointer is the user's responsibility.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::erase(const_iterator__first,const_iterator__last)[inline]
Erases a [__first,__last) range of elements from an unordered_map.
Parameters__first Iterator pointing to the start of the range to be erased.
__last Iterator pointing to the end of the range to be erased.
Returns
The iterator __last.
This function erases a sequence of elements from an unordered_map. Note that this function only erases
the elements, and that if the element is itself a pointer, the pointed-to memory is not touched in any
way. Managing the pointer is the user's responsibility.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::erase(const_iterator__position)[inline]
Erases an element from an unordered_map.
Parameters__position An iterator pointing to the element to be erased.
Returns
An iterator pointing to the element immediately following __position prior to the element being
erased. If no such element exists, end() is returned.
This function erases an element, pointed to by the given iterator, from an unordered_map. Note that this
function only erases the element, and that if the element is itself a pointer, the pointed-to memory is
not touched in any way. Managing the pointer is the user's responsibility.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::erase(iterator__position)[inline]
Erases an element from an unordered_map.
Parameters__position An iterator pointing to the element to be erased.
Returns
An iterator pointing to the element immediately following __position prior to the element being
erased. If no such element exists, end() is returned.
This function erases an element, pointed to by the given iterator, from an unordered_map. Note that this
function only erases the element, and that if the element is itself a pointer, the pointed-to memory is
not touched in any way. Managing the pointer is the user's responsibility.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>node_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::extract(constkey_type&__key)[inline]
Extract a node.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>node_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::extract(const_iterator__pos)[inline]
Extract a node.
References std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::end().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Kt>autostd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::find(const_Kt&__x)->decltype(_M_h._M_find_tr(__x))
[inline]"
Tries to locate an element in an unordered_map.
Parameters__x Key to be located.
Returns
Iterator pointing to sought-after element, or end() if not found.
This function takes a key and tries to locate the element with which the key matches. If successful the
function returns an iterator pointing to the sought after element. If unsuccessful it returns the past-
the-end ( end() ) iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Kt>autostd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::find(const_Kt&__x)const->decltype(_M_h._M_find_tr(__x))
[inline]"
Tries to locate an element in an unordered_map.
Parameters__x Key to be located.
Returns
Iterator pointing to sought-after element, or end() if not found.
This function takes a key and tries to locate the element with which the key matches. If successful the
function returns an iterator pointing to the sought after element. If unsuccessful it returns the past-
the-end ( end() ) iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::find(constkey_type&__x)[inline]
Tries to locate an element in an unordered_map.
Parameters__x Key to be located.
Returns
Iterator pointing to sought-after element, or end() if not found.
This function takes a key and tries to locate the element with which the key matches. If successful the
function returns an iterator pointing to the sought after element. If unsuccessful it returns the past-
the-end ( end() ) iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>const_iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::find(constkey_type&__x)const[inline]
Tries to locate an element in an unordered_map.
Parameters__x Key to be located.
Returns
Iterator pointing to sought-after element, or end() if not found.
This function takes a key and tries to locate the element with which the key matches. If successful the
function returns an iterator pointing to the sought after element. If unsuccessful it returns the past-
the-end ( end() ) iterator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>allocator_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::get_allocator()const[inline],[noexcept]
Returns the allocator object used by the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>hasherstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::hash_function()const[inline]
Returns the hash functor object with which the unordered_map was constructed.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_InputIterator>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(_InputIterator__first,_InputIterator__last)[inline]
A template function that attempts to insert a range of elements.
Parameters__first Iterator pointing to the start of the range to be inserted.
__last Iterator pointing to the end of the range.
Complexity similar to that of the range constructor.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Pair>__enable_if_t<is_constructible<value_type,_Pair&&>::value,pair<iterator,bool>>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(_Pair&&__x)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__x Pair to be inserted (see std::make_pair for easy creation of pairs).
Returns
A pair, of which the first element is an iterator that points to the possibly inserted pair, and the
second is a bool that is true if the pair was actually inserted.
This function attempts to insert a (key, value) pair into the unordered_map. An unordered_map relies on
unique keys and thus a pair is only inserted if its first element (the key) is not already present in the
unordered_map.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>std::pair<iterator,bool>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(constvalue_type&__x)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__x Pair to be inserted (see std::make_pair for easy creation of pairs).
Returns
A pair, of which the first element is an iterator that points to the possibly inserted pair, and the
second is a bool that is true if the pair was actually inserted.
This function attempts to insert a (key, value) pair into the unordered_map. An unordered_map relies on
unique keys and thus a pair is only inserted if its first element (the key) is not already present in the
unordered_map.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Pair>__enable_if_t<is_constructible<value_type,_Pair&&>::value,iterator>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(const_iterator__hint,_Pair&&__x)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__hint An iterator that serves as a hint as to where the pair should be inserted.
__x Pair to be inserted (see std::make_pair for easy creation of pairs).
Returns
An iterator that points to the element with key of __x (may or may not be the pair passed in).
This function is not concerned about whether the insertion took place, and thus does not return a boolean
like the single-argument insert() does. Note that the first parameter is only a hint and can potentially
improve the performance of the insertion process. A bad hint would cause no gains in efficiency.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints
for more on hinting.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(const_iterator__hint,constvalue_type&__x)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__hint An iterator that serves as a hint as to where the pair should be inserted.
__x Pair to be inserted (see std::make_pair for easy creation of pairs).
Returns
An iterator that points to the element with key of __x (may or may not be the pair passed in).
This function is not concerned about whether the insertion took place, and thus does not return a boolean
like the single-argument insert() does. Note that the first parameter is only a hint and can potentially
improve the performance of the insertion process. A bad hint would cause no gains in efficiency.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints
for more on hinting.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(const_iterator__hint,value_type&&__x)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__hint An iterator that serves as a hint as to where the pair should be inserted.
__x Pair to be inserted (see std::make_pair for easy creation of pairs).
Returns
An iterator that points to the element with key of __x (may or may not be the pair passed in).
This function is not concerned about whether the insertion took place, and thus does not return a boolean
like the single-argument insert() does. Note that the first parameter is only a hint and can potentially
improve the performance of the insertion process. A bad hint would cause no gains in efficiency.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints
for more on hinting.
Insertion requires amortized constant time.
References std::move().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(const_iterator,node_type&&__nh)[inline]
Re-insert an extracted node.
References std::move().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(initializer_list<value_type>__l)[inline]
Attempts to insert a list of elements into the unordered_map.
Parameters__l A std::initializer_list<value_type> of elements to be inserted.
Complexity similar to that of the range constructor.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>insert_return_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(node_type&&__nh)[inline]
Re-insert an extracted node.
References std::move().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>std::pair<iterator,bool>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert(value_type&&__x)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__x Pair to be inserted (see std::make_pair for easy creation of pairs).
Returns
A pair, of which the first element is an iterator that points to the possibly inserted pair, and the
second is a bool that is true if the pair was actually inserted.
This function attempts to insert a (key, value) pair into the unordered_map. An unordered_map relies on
unique keys and thus a pair is only inserted if its first element (the key) is not already present in the
unordered_map.
Insertion requires amortized constant time.
References std::move().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Obj>pair<iterator,bool>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert_or_assign(constkey_type&__k,_Obj&&__obj)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__k Key to use for finding a possibly existing pair in the map.
__obj Argument used to generate the .second for a pair instance.
Returns
A pair, of which the first element is an iterator that points to the possibly inserted pair, and the
second is a bool that is true if the pair was actually inserted.
This function attempts to insert a (key, value) pair into the unordered_map. An unordered_map relies on
unique keys and thus a pair is only inserted if its first element (the key) is not already present in the
unordered_map. If the pair was already in the unordered_map, the .second of the pair is assigned from
__obj.
Insertion requires amortized constant time.
References std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::cend().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename_Obj>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::insert_or_assign(const_iterator__hint,constkey_type&__k,_Obj&&__obj)[inline]
Attempts to insert a std::pair into the unordered_map.
Parameters__hint An iterator that serves as a hint as to where the pair should be inserted.
__k Key to use for finding a possibly existing pair in the unordered_map.
__obj Argument used to generate the .second for a pair instance.
Returns
An iterator that points to the element with key of __x (may or may not be the pair passed in).
This function is not concerned about whether the insertion took place, and thus does not return a boolean
like the single-argument insert() does.
If the pair was already in the unordered map, the .second of the pair is assigned from __obj. Note that
the first parameter is only a hint and can potentially improve the performance of the insertion process.
A bad hint would cause no gains in efficiency.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints
for more on hinting.
Insertion requires amortized constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>key_equalstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::key_eq()const[inline]
Returns the key comparison object with which the unordered_map was constructed.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>floatstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::load_factor()const[inline],[noexcept]
Returns the average number of elements per bucket.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>size_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::max_bucket_count()const[inline],[noexcept]
Returns the maximum number of buckets of the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>floatstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::max_load_factor()const[inline],[noexcept]
Returns a positive number that the unordered_map tries to keep the load factor less than or equal to.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::max_load_factor(float__z)[inline]
Change the unordered_map maximum load factor.
Parameters__z The new maximum load factor.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>size_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::max_size()const[inline],[noexcept]
Returns the maximum size of the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>unordered_map&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::operator=(constunordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>&)[default]
Copy assignment operator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>unordered_map&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::operator=(initializer_list<value_type>__l)[inline]
Unordered_map list assignment operator.
Parameters__l An initializer_list.
This function fills an unordered_map with copies of the elements in the initializer list __l.
Note that the assignment completely changes the unordered_map and that the resulting unordered_map's size
is the same as the number of elements assigned.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>unordered_map&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::operator=(unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>&&)[default]
Move assignment operator.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>mapped_type&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::operator[](constkey_type&__k)[inline]
Subscript ( [] ) access to unordered_map data.
Parameters__k The key for which data should be retrieved.
Returns
A reference to the data of the (key,data) pair.
Allows for easy lookup with the subscript ( [] )operator. Returns data associated with the key specified
in subscript. If the key does not exist, a pair with that key is created using default values, which is
then returned.
Lookup requires constant time.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>mapped_type&std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::operator[](key_type&&__k)[inline]
Subscript ( [] ) access to unordered_map data.
Parameters__k The key for which data should be retrieved.
Returns
A reference to the data of the (key,data) pair.
Allows for easy lookup with the subscript ( [] )operator. Returns data associated with the key specified
in subscript. If the key does not exist, a pair with that key is created using default values, which is
then returned.
Lookup requires constant time.
References std::move().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::rehash(size_type__n)[inline]
May rehash the unordered_map.
Parameters__n The new number of buckets.
Rehash will occur only if the new number of buckets respect the unordered_map maximum load factor.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::reserve(size_type__n)[inline]
Prepare the unordered_map for a specified number of elements.
Parameters__n Number of elements required.
Same as rehash(ceil(n / max_load_factor())).
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>size_typestd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::size()const[inline],[noexcept]
Returns the size of the unordered_map.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>voidstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::swap(unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>&__x)[inline],[noexcept]
Swaps data with another unordered_map.
Parameters__x An unordered_map of the same element and allocator types.
This exchanges the elements between two unordered_map in constant time. Note that the global std::swap()
function is specialized such that std::swap(m1,m2) will feed to this function.
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename..._Args>pair<iterator,bool>std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::try_emplace(constkey_type&__k,_Args&&...__args)[inline]
Attempts to build and insert a std::pair into the unordered_map.
Parameters__k Key to use for finding a possibly existing pair in the unordered_map.
__args Arguments used to generate the .second for a new pair instance.
Returns
A pair, of which the first element is an iterator that points to the possibly inserted pair, and the
second is a bool that is true if the pair was actually inserted.
This function attempts to build and insert a (key, value) pair into the unordered_map. An unordered_map
relies on unique keys and thus a pair is only inserted if its first element (the key) is not already
present in the unordered_map. If a pair is not inserted, this function has no effect.
Insertion requires amortized constant time.
References std::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::cend().
template<typename_Key,typename_Tp,typename_Hash=hash<_Key>,typename_Pred=equal_to<_Key>,typename_Alloc=allocator<std::pair<const_Key,_Tp>>>template<typename..._Args>iteratorstd::unordered_map<_Key,_Tp,_Hash,_Pred,_Alloc>::try_emplace(const_iterator__hint,constkey_type&__k,_Args&&...__args)[inline]
Attempts to build and insert a std::pair into the unordered_map.
Parameters__hint An iterator that serves as a hint as to where the pair should be inserted.
__k Key to use for finding a possibly existing pair in the unordered_map.
__args Arguments used to generate the .second for a new pair instance.
Returns
An iterator that points to the element with key of the std::pair built from __args (may or may not be
that std::pair).
This function is not concerned about whether the insertion took place, and thus does not return a boolean
like the single-argument emplace() does. However, if insertion did not take place, this function has no
effect. Note that the first parameter is only a hint and can potentially improve the performance of the
insertion process. A bad hint would cause no gains in efficiency.
See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints
for more on hinting.
Insertion requires amortized constant time.