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

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_mapoperator= (const unordered_map &)=default
 
unordered_mapoperator= (initializer_list< value_type > __l)
 
unordered_mapoperator= (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() 
)
inlineexplicit

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)
inlineexplicit

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 ( )
inlineprotectednoexceptinherited

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 ( )
inlineprotectednoexceptinherited

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)
inlineprotectedinherited

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)
inlineprotectednoexceptinherited

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 ( )
inlinenoexcept

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)
inlinenoexcept

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
protectedinherited

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
protectedinherited

Definition at line 227 of file unordered_base.h.


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