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

Inherits unordered_set< _Key, std::hash< _Key >, std::equal_to< _Key >, std::allocator< _Key > >, 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::reference reference
 
typedef _Base::size_type size_type
 
typedef _Base::value_type value_type
 

Public Member Functions

template<typename _InputIterator >
 unordered_set (_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_set (_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type &__a)
 
template<typename _InputIterator >
 unordered_set (_InputIterator __first, _InputIterator __last, size_type __n, const hasher &__hf, const allocator_type &__a)
 
 unordered_set (const _Base &__x)
 
 unordered_set (const allocator_type &__a)
 
 unordered_set (const unordered_set &)=default
 
 unordered_set (const unordered_set &__uset, const allocator_type &__a)
 
 unordered_set (initializer_list< value_type > __l, size_type __n, const allocator_type &__a)
 
 unordered_set (initializer_list< value_type > __l, size_type __n, const hasher &__hf, const allocator_type &__a)
 
 unordered_set (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_set (size_type __n, const allocator_type &__a)
 
 unordered_set (size_type __n, const hasher &__hf, const allocator_type &__a)
 
 unordered_set (size_type __n, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
 
 unordered_set (unordered_set &&)=default
 
 unordered_set (unordered_set &&__uset, 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)
 
std::pair< iterator, bool > insert (const value_type &__obj)
 
iterator insert (const_iterator __iter, const value_type &__v)
 
iterator insert (const_iterator __iter, value_type &&__v)
 
void insert (std::initializer_list< value_type > __l)
 
std::pair< iterator, bool > insert (value_type &&__obj)
 
unordered_setoperator= (const unordered_set &)=default
 
unordered_setoperator= (initializer_list< value_type > __l)
 
unordered_setoperator= (unordered_set &&)=default
 
void rehash (size_type __n)
 
void swap (unordered_set &__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 _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
class std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >

Unordered_set wrapper with performance instrumentation.

Definition at line 51 of file profile/unordered_set.

Member Typedef Documentation

◆ allocator_type

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::allocator_type std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::allocator_type

Definition at line 68 of file profile/unordered_set.

◆ const_iterator

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::const_iterator std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::const_iterator

Definition at line 76 of file profile/unordered_set.

◆ const_reference

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::const_reference std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::const_reference

Definition at line 73 of file profile/unordered_set.

◆ difference_type

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::difference_type std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::difference_type

Definition at line 71 of file profile/unordered_set.

◆ hasher

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::hasher std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::hasher

Definition at line 66 of file profile/unordered_set.

◆ iterator

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::iterator std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::iterator

Definition at line 75 of file profile/unordered_set.

◆ key_equal

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::key_equal std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::key_equal

Definition at line 67 of file profile/unordered_set.

◆ key_type

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::key_type std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::key_type

Definition at line 69 of file profile/unordered_set.

◆ reference

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::reference std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::reference

Definition at line 72 of file profile/unordered_set.

◆ size_type

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::size_type std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::size_type

Definition at line 65 of file profile/unordered_set.

◆ value_type

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
typedef _Base::value_type std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::value_type

Definition at line 70 of file profile/unordered_set.

Constructor & Destructor Documentation

◆ unordered_set() [1/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( size_type  __n,
const hasher &  __hf = hasher(),
const key_equal &  __eql = key_equal(),
const allocator_type &  __a = allocator_type() 
)
inlineexplicit

Definition at line 81 of file profile/unordered_set.

◆ unordered_set() [2/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
template<typename _InputIterator >
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( _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_set.

◆ unordered_set() [3/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( const _Base __x)
inline

Definition at line 99 of file profile/unordered_set.

◆ unordered_set() [4/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( const allocator_type &  __a)
inlineexplicit

Definition at line 106 of file profile/unordered_set.

◆ unordered_set() [5/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( const unordered_set< _Key, _Hash, _Pred, _Alloc > &  __uset,
const allocator_type &  __a 
)
inline

Definition at line 110 of file profile/unordered_set.

◆ unordered_set() [6/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( unordered_set< _Key, _Hash, _Pred, _Alloc > &&  __uset,
const allocator_type &  __a 
)
inline

Definition at line 115 of file profile/unordered_set.

◆ unordered_set() [7/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( 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 120 of file profile/unordered_set.

◆ unordered_set() [8/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( size_type  __n,
const allocator_type &  __a 
)
inline

Definition at line 128 of file profile/unordered_set.

◆ unordered_set() [9/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( size_type  __n,
const hasher &  __hf,
const allocator_type &  __a 
)
inline

Definition at line 132 of file profile/unordered_set.

◆ unordered_set() [10/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
template<typename _InputIterator >
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( _InputIterator  __first,
_InputIterator  __last,
size_type  __n,
const allocator_type &  __a 
)
inline

Definition at line 138 of file profile/unordered_set.

◆ unordered_set() [11/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
template<typename _InputIterator >
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( _InputIterator  __first,
_InputIterator  __last,
size_type  __n,
const hasher &  __hf,
const allocator_type &  __a 
)
inline

Definition at line 145 of file profile/unordered_set.

◆ unordered_set() [12/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( initializer_list< value_type >  __l,
size_type  __n,
const allocator_type &  __a 
)
inline

Definition at line 151 of file profile/unordered_set.

◆ unordered_set() [13/13]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::unordered_set ( initializer_list< value_type >  __l,
size_type  __n,
const hasher &  __hf,
const allocator_type &  __a 
)
inline

Definition at line 157 of file profile/unordered_set.

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 _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
void std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::clear ( )
inlinenoexcept

Definition at line 187 of file profile/unordered_set.

◆ emplace()

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
template<typename... _Args>
std::pair< iterator, bool > std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::emplace ( _Args &&...  __args)
inline

Definition at line 196 of file profile/unordered_set.

◆ emplace_hint()

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
template<typename... _Args>
iterator std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::emplace_hint ( const_iterator  __it,
_Args &&...  __args 
)
inline

Definition at line 207 of file profile/unordered_set.

◆ insert() [1/6]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
template<typename _InputIter >
void std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::insert ( _InputIter  __first,
_InputIter  __last 
)
inline

Definition at line 262 of file profile/unordered_set.

◆ insert() [2/6]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::pair< iterator, bool > std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::insert ( const value_type &  __obj)
inline

Definition at line 225 of file profile/unordered_set.

◆ insert() [3/6]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
iterator std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::insert ( const_iterator  __iter,
const value_type &  __v 
)
inline

Definition at line 234 of file profile/unordered_set.

◆ insert() [4/6]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
iterator std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::insert ( const_iterator  __iter,
value_type &&  __v 
)
inline

Definition at line 252 of file profile/unordered_set.

◆ insert() [5/6]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
void std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::insert ( std::initializer_list< value_type >  __l)
inline

Definition at line 217 of file profile/unordered_set.

◆ insert() [6/6]

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
std::pair< iterator, bool > std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::insert ( value_type &&  __obj)
inline

Definition at line 243 of file profile/unordered_set.

◆ operator=()

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
unordered_set & std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::operator= ( initializer_list< value_type >  __l)
inline

Definition at line 170 of file profile/unordered_set.

◆ rehash()

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
void std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::rehash ( size_type  __n)
inline

Definition at line 270 of file profile/unordered_set.

◆ swap()

template<typename _Key , typename _Hash = std::hash<_Key>, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator<_Key>>
void std::__profile::unordered_set< _Key, _Hash, _Pred, _Alloc >::swap ( unordered_set< _Key, _Hash, _Pred, _Alloc > &  __x)
inlinenoexcept

Definition at line 179 of file profile/unordered_set.

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: