std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > Class Template Reference

`#include <unordered_map>`

Inherits unordered_map< _Key, _Tp, std::hash< _Key >, std::equal_to< _Key >, std::allocator< std::pair< const _Key, _Tp > > >, and std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >.

## Public Types

typedef _Base::allocator_type | allocator_type
typedef _Base::const_iterator | const_iterator
typedef _Base::const_reference | const_reference
typedef _Base::difference_type | difference_type
typedef _Base::hasher | hasher
typedef _Base::iterator | iterator
typedef _Base::key_equal | key_equal
typedef _Base::key_type | key_type
typedef _Base::mapped_type | mapped_type
typedef _Base::reference | reference
typedef _Base::size_type | size_type
typedef _Base::value_type | value_type

## Public Member Functions

template<typename _InputIterator >
| unordered_map (_InputIterator __f, _InputIterator __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
template<typename _InputIterator >
| unordered_map (_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type &__a)
template<typename _InputIterator >
| unordered_map (_InputIterator __first, _InputIterator __last, size_type __n, const hasher &__hf, const allocator_type &__a)
| unordered_map (const _Base &__x)
| unordered_map (const allocator_type &__a)
| unordered_map (const unordered_map &)=default
| unordered_map (const unordered_map &__umap, const allocator_type &__a)
| unordered_map (initializer_list< value_type > __l, size_type __n, const allocator_type &__a)
| unordered_map (initializer_list< value_type > __l, size_type __n, const hasher &__hf, const allocator_type &__a)
| unordered_map (initializer_list< value_type > __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
| unordered_map (size_type __n, const allocator_type &__a)
| unordered_map (size_type __n, const hasher &__hf, const allocator_type &__a)
| unordered_map (size_type __n, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
| unordered_map (unordered_map &&)=default
| unordered_map (unordered_map &&__umap, const allocator_type &__a)
void | clear () noexcept
template<typename... _Args>
std::pair< iterator, bool > | emplace (_Args &&... __args)
template<typename... _Args>
iterator | emplace_hint (const_iterator __it, _Args &&... __args)
template<typename _InputIter >
void | insert (_InputIter __first, _InputIter __last)
template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type>
std::pair< iterator, bool > | insert (_Pair &&__obj)
std::pair< iterator, bool > | insert (const value_type &__obj)
template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type>
iterator | insert (const_iterator __iter, _Pair &&__v)
iterator | insert (const_iterator __iter, const value_type &__v)
void | insert (std::initializer_list< value_type > __l)
unordered_map & | operator= (const unordered_map &)=default
unordered_map & | operator= (initializer_list< value_type > __l)
unordered_map & | operator= (unordered_map &&)=default
mapped_type & | operator[] (_Key &&__k)
mapped_type & | operator[] (const _Key &__k)
void | rehash (size_type __n)
void | swap (unordered_map &__x) noexcept(noexcept(__x._M_base().swap(__x)))

## Protected Member Functions

void | _M_profile_construct () noexcept
void | _M_profile_destruct () noexcept
void | _M_profile_resize (std::size_t __old_size)
void | _M_swap (_Unordered_profile &__other) noexcept

## Protected Attributes

__gnu_profile::__hashfunc_info * | _M_hashfunc_info
__gnu_profile::__container_size_info * | _M_size_info

## Detailed Description

template<typename _Key, typename _Tp, typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
class std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >

Class std::unordered_map wrapper with performance instrumentation.

Definition at line 51 of file profile/unordered_map.

## Member Typedef Documentation

## allocator_type

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::allocator_type std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::allocator_type

Definition at line 68 of file profile/unordered_map.

## const_iterator

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::const_iterator std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::const_iterator

Definition at line 77 of file profile/unordered_map.

## const_reference

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::const_reference std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::const_reference

Definition at line 73 of file profile/unordered_map.

## difference_type

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::difference_type std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::difference_type

Definition at line 71 of file profile/unordered_map.

## hasher

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::hasher std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::hasher

Definition at line 66 of file profile/unordered_map.

## iterator

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::iterator std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::iterator

Definition at line 76 of file profile/unordered_map.

## key_equal

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::key_equal std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::key_equal

Definition at line 67 of file profile/unordered_map.

## key_type

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::key_type std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::key_type

Definition at line 69 of file profile/unordered_map.

## mapped_type

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::mapped_type std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::mapped_type

Definition at line 74 of file profile/unordered_map.

## reference

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::reference std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::reference

Definition at line 72 of file profile/unordered_map.

## size_type

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::size_type std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::size_type

Definition at line 65 of file profile/unordered_map.

## value_type

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

typedef _Base::value_type std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::value_type

Definition at line 70 of file profile/unordered_map.

## Constructor & Destructor Documentation

## unordered_map() [1/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | size_type | __n,
|  | const hasher & | __hf = `hasher()`,
|  | const key_equal & | __eql = `key_equal()`,
|  | const allocator_type & | __a = `allocator_type()`
| ) |  |

inline explicit

Definition at line 82 of file profile/unordered_map.

## unordered_map() [2/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename _InputIterator >

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | _InputIterator | __f,
|  | _InputIterator | __l,
|  | size_type | __n = `0`,
|  | const hasher & | __hf = `hasher()`,
|  | const key_equal & | __eql = `key_equal()`,
|  | const allocator_type & | __a = `allocator_type()`
| ) |  |

inline

Definition at line 89 of file profile/unordered_map.

## unordered_map() [3/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | const _Base & | __x | ) |

inline

Definition at line 98 of file profile/unordered_map.

## unordered_map() [4/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | const allocator_type & | __a | ) |

inline explicit

Definition at line 104 of file profile/unordered_map.

## unordered_map() [5/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | const unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > & | __umap,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 107 of file profile/unordered_map.

## unordered_map() [6/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > && | __umap,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 111 of file profile/unordered_map.

## unordered_map() [7/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | initializer_list< value_type > | __l,
|  | size_type | __n = `0`,
|  | const hasher & | __hf = `hasher()`,
|  | const key_equal & | __eql = `key_equal()`,
|  | const allocator_type & | __a = `allocator_type()`
| ) |  |

inline

Definition at line 115 of file profile/unordered_map.

## unordered_map() [8/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | size_type | __n,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 122 of file profile/unordered_map.

## unordered_map() [9/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | size_type | __n,
|  | const hasher & | __hf,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 126 of file profile/unordered_map.

## unordered_map() [10/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename _InputIterator >

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | _InputIterator | __first,
|  | _InputIterator | __last,
|  | size_type | __n,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 132 of file profile/unordered_map.

## unordered_map() [11/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename _InputIterator >

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | _InputIterator | __first,
|  | _InputIterator | __last,
|  | size_type | __n,
|  | const hasher & | __hf,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 139 of file profile/unordered_map.

## unordered_map() [12/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | initializer_list< value_type > | __l,
|  | size_type | __n,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 145 of file profile/unordered_map.

## unordered_map() [13/13]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::unordered_map | ( | initializer_list< value_type > | __l,
|  | size_type | __n,
|  | const hasher & | __hf,
|  | const allocator_type & | __a
| ) |  |

inline

Definition at line 151 of file profile/unordered_map.

## Member Function Documentation

## _M_profile_construct()

template<typename _UnorderedCont , bool _Unique_keys>

void std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >::_M_profile_construct | ( |  | ) |

inline protected noexcept inherited

Definition at line 190 of file unordered_base.h.

## _M_profile_destruct()

template<typename _UnorderedCont , bool _Unique_keys>

void std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >::_M_profile_destruct | ( |  | ) |

inline protected noexcept inherited

Definition at line 198 of file unordered_base.h.

## _M_profile_resize()

template<typename _UnorderedCont , bool _Unique_keys>

void std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >::_M_profile_resize | ( | std::size_t | __old_size | ) |

inline protected inherited

Definition at line 220 of file unordered_base.h.

## _M_swap()

template<typename _UnorderedCont , bool _Unique_keys>

void std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >::_M_swap | ( | _Unordered_profile< _UnorderedCont, _Unique_keys > & | __other | ) |

inline protected noexcept inherited

Definition at line 213 of file unordered_base.h.

## clear()

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

void std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::clear | ( |  | ) |

inline noexcept

Definition at line 173 of file profile/unordered_map.

## emplace()

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename... _Args>

std::pair< iterator, bool > std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::emplace | ( | _Args &&... | __args | ) |

inline

Definition at line 182 of file profile/unordered_map.

## emplace_hint()

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename... _Args>

iterator std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::emplace_hint | ( | const_iterator | __it,
|  | _Args &&... | __args
| ) |  |

inline

Definition at line 193 of file profile/unordered_map.

## insert() [1/6]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename _InputIter >

void std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert | ( | _InputIter | __first,
|  | _InputIter | __last
| ) |  |

inline

Definition at line 255 of file profile/unordered_map.

## insert() [2/6]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type>

std::pair< iterator, bool > std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert | ( | _Pair && | __obj | ) |

inline

Definition at line 232 of file profile/unordered_map.

## insert() [3/6]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

std::pair< iterator, bool > std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert | ( | const value_type & | __obj | ) |

inline

Definition at line 211 of file profile/unordered_map.

## insert() [4/6]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>
template<typename _Pair , typename = typename std::enable_if<std::is_constructible<value_type, _Pair&&>::value>::type>

iterator std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert | ( | const_iterator | __iter,
|  | _Pair && | __v
| ) |  |

inline

Definition at line 245 of file profile/unordered_map.

## insert() [5/6]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

iterator std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert | ( | const_iterator | __iter,
|  | const value_type & | __v
| ) |  |

inline

Definition at line 220 of file profile/unordered_map.

## insert() [6/6]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

void std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::insert | ( | std::initializer_list< value_type > | __l | ) |

inline

Definition at line 203 of file profile/unordered_map.

## operator=()

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

unordered_map & std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::operator= | ( | initializer_list< value_type > | __l | ) |

inline

Definition at line 164 of file profile/unordered_map.

## operator[]() [1/2]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

mapped_type & std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::operator[] | ( | _Key && | __k | ) |

inline

Definition at line 273 of file profile/unordered_map.

## operator[]() [2/2]

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

mapped_type & std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::operator[] | ( | const _Key & | __k | ) |

inline

Definition at line 264 of file profile/unordered_map.

## rehash()

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

void std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::rehash | ( | size_type | __n | ) |

inline

Definition at line 289 of file profile/unordered_map.

## swap()

template<typename _Key , typename _Tp , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<std::pair<const _Key, _Tp> >>

void std::__profile::unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc >::swap | ( | unordered_map< _Key, _Tp, _Hash, _Pred, _Alloc > & | __x | ) |

inline noexcept

Definition at line 282 of file profile/unordered_map.

## Member Data Documentation

## _M_hashfunc_info

template<typename _UnorderedCont , bool _Unique_keys>

__gnu_profile::__hashfunc_info* std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >::_M_hashfunc_info

protected inherited

Definition at line 228 of file unordered_base.h.

## _M_size_info

template<typename _UnorderedCont , bool _Unique_keys>

__gnu_profile::__container_size_info* std::__profile::_Unordered_profile< _UnorderedCont, _Unique_keys >::_M_size_info

protected inherited

Definition at line 227 of file unordered_base.h.

The documentation for this class was generated from the following file:

- profile/unordered_map