20 #ifndef _STLP_INTERNAL_UNORDERED_MAP_H 21 #define _STLP_INTERNAL_UNORDERED_MAP_H 23 #ifndef _STLP_INTERNAL_HASHTABLE_H 34 template <
class _Key,
class _Tp, _STLP_DFL_TMPL_PARAM(_HashFcn,hash<_Key>),
35 _STLP_DFL_TMPL_PARAM(_EqualKey, equal_to<_Key>),
36 _STLP_DEFAULT_PAIR_ALLOCATOR_
SELECT(_STLP_CONST _Key, _Tp) >
38 #
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
39 :
public __stlport_class<unordered_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> >
88 #if !defined (_STLP_NO_MOVE_SEMANTIC) 93 #if defined (_STLP_MEMBER_TEMPLATES) 94 template <
class _InputIterator>
124 #if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 125 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
137 #if defined (_STLP_MEMBER_TEMPLATES) 138 template <
class _InputIterator>
139 void insert(_InputIterator __f, _InputIterator __l)
190 #if defined (__DMC__) // disable operator==(pair<x,unordered_map>, pair<x,unordered_map>) 202 template <
class _Key,
class _Tp, _STLP_DFL_TMPL_PARAM(_HashFcn,hash<_Key>),
203 _STLP_DFL_TMPL_PARAM(_EqualKey, equal_to<_Key>),
204 _STLP_DEFAULT_PAIR_ALLOCATOR_
SELECT(_STLP_CONST _Key, _Tp) >
206 #
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
207 :
public __stlport_class<unordered_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> >
256 #if !defined (_STLP_NO_MOVE_SEMANTIC) 261 #if defined (_STLP_MEMBER_TEMPLATES) 262 template <
class _InputIterator>
292 #if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 293 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
305 #if defined (_STLP_MEMBER_TEMPLATES) 306 template <
class _InputIterator>
307 void insert(_InputIterator __f, _InputIterator __l)
351 #define _STLP_TEMPLATE_HEADER template <class _Key, class _Tp, class _HashFcn, class _EqlKey, class _Alloc> 352 #define _STLP_TEMPLATE_CONTAINER unordered_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc> 356 #undef _STLP_TEMPLATE_CONTAINER 357 #define _STLP_TEMPLATE_CONTAINER unordered_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc> 361 #undef _STLP_TEMPLATE_CONTAINER 362 #undef _STLP_TEMPLATE_HEADER 369 #if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) 370 # if !defined (_STLP_NO_MOVE_SEMANTIC) 371 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
376 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
382 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
390 typedef void value_type;
391 typedef void difference_type;
408 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
417 typedef void value_type;
418 typedef void difference_type;
size_type bucket_size(size_type __n) const
const_iterator begin() const
_Container container_type
void insert(const_iterator __f, const_iterator __l)
local_iterator end(size_type __n)
unordered_map(const value_type *__f, const value_type *__l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
local_iterator end(size_type __n)
unordered_map(size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
unordered_multimap< _Key, _Tp, _HashFcn, _EqualKey, _Alloc > _Self
allocator_type get_allocator() const
ptrdiff_t difference_type
#define _STLP_CREATE_HASH_ITERATOR_TRAITS(Motif, Traits)
GLsizei const GLvoid * pointer
size_type max_size() const
#define _STLP_BEGIN_TR1_NAMESPACE
void rehash(size_type __hint)
float load_factor() const
float max_load_factor() const
const_local_iterator begin(size_type __n) const
pair< iterator, bool > insert(const value_type &__obj)
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
#define _STLP_TEMPLATE_FOR_CONT_EXT
pair< _STLP_CONST key_type, data_type > value_type
_Ht::const_reference const_reference
_STLP_PRIV _Ht_iterator< _ElemsIte, _NonConstLocalTraits > local_iterator
size_type max_bucket_count() const
iterator insert(const_iterator, const value_type &__obj)
size_type bucket_count() const
_Ht::const_local_iterator const_local_iterator
_STLP_PRIV _Ht_iterator< _ElemsIte, _ConstLocalTraits > const_local_iterator
_STLP_TEMPLATE_FOR_CONT_EXT _Tp & operator[](const _KT &__key)
_STLP_PRIV _UnorderedMultimapTraitsT< value_type > _UnorderedMultimapTraits
size_type max_size() const
_STLP_TEMPLATE_FOR_CONT_EXT size_type bucket(const _KT &__k) const
_STLP_PRIV _Ht_iterator< _ElemsIte, _ConstTraits > const_iterator
iterator insert(const value_type &__obj)
hasher hash_function() const
unordered_map(const_iterator __f, const_iterator __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
unordered_multimap(const value_type *__f, const value_type *__l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
pair< _STLP_CONST key_type, data_type > value_type
unordered_map(__move_source< _Self > src)
allocator_type get_allocator() const
size_type bucket_size(size_type __n) const
hashtable< value_type, key_type, _HashFcn, _UnorderedMapTraits, _STLP_SELECT1ST(value_type, _Key), _EqualKey, _Alloc > _Ht
const_iterator end() const
const value_type * const_pointer
size_type max_bucket_count() const
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
const_iterator end() const
hasher hash_funct() const
void erase(const_iterator __it)
hasher hash_function() const
const_iterator begin() const
iterator insert_equal(const value_type &__obj)
void max_load_factor(float __val)
_Ht::const_iterator const_iterator
_Ht::const_iterator const_iterator
_Self & operator=(const _Self &__other)
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
output_iterator_tag iterator_category
unordered_multimap(__move_source< _Self > src)
size_type bucket_count() const
_STLP_PRIV _UnorderedMapTraitsT< value_type > _UnorderedMapTraits
void get(int argc, const char *argv[])
size_type bucket_count() const
size_type max_bucket_count() const
size_type erase(const key_type &__key)
_NonConstTraits::reference reference
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
_Ht::local_iterator local_iterator
hashtable< value_type, key_type, _HashFcn, _UnorderedMultimapTraits, _STLP_SELECT1ST(value_type, _Key), _EqualKey, _Alloc > _Ht
_STLP_INLINE_LOOP _InputIter const _Tp & __val
void rehash(size_type __num_buckets_hint)
float load_factor() const
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
_STLP_PRIV _Ht_iterator< _ElemsIte, _NonConstTraits > iterator
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
size_type elems_in_bucket(size_type __bucket) const
bool operator==(const TKeyDef &t1, const TKeyDef &t2)
_Ht::allocator_type allocator_type
_Ht::const_reference const_reference
const_local_iterator begin(size_type __n) const
_NonConstTraits::pointer pointer
void insert(const value_type *__f, const value_type *__l)
const_local_iterator end(size_type __n) const
size_type max_size() const
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
#define _STLP_KEY_TYPE_FOR_CONT_EXT(type)
WDF_CHILD_LIST_ITERATOR iterator
void erase(const_iterator __f, const_iterator __l)
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
_Ht::difference_type difference_type
_Ht::local_iterator local_iterator
_Ht::difference_type difference_type
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
#define _STLP_SELECT1ST(__x, __y)
void rehash(size_type __hint)
iterator insert(const_iterator, const value_type &__obj)
#define _STLP_END_NAMESPACE
_Ht::allocator_type allocator_type
void insert(const value_type *__f, const value_type *__l)
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
_Ht::const_pointer const_pointer
_STLP_TEMPLATE_FOR_CONT_EXT size_type bucket(const _KT &__k) const
size_type erase(const key_type &__key)
void erase(const_iterator __it)
float max_load_factor() const
unordered_multimap(size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
const_local_iterator end(size_type __n) const
unordered_map< _Key, _Tp, _HashFcn, _EqualKey, _Alloc > _Self
local_iterator begin(size_type __n)
_Self & operator=(const _Self &__other)
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
#define _STLP_BEGIN_NAMESPACE
pair< iterator, bool > insert_unique(const value_type &__obj)
_STLP_TEMPLATE_FOR_CONT_EXT size_type bucket(const _KT &__k) const
_Ht::const_pointer const_pointer
float max_load_factor() const
void max_load_factor(float __val)
unordered_multimap(const_iterator __f, const_iterator __l, size_type __n=0, const hasher &__hf=hasher(), const key_equal &__eql=key_equal(), const allocator_type &__a=allocator_type())
reference _M_insert(const value_type &__obj)
insert_iterator(_Container &__x, typename _Container::iterator __i)
local_iterator begin(size_type __n)
void erase(const_iterator __f, const_iterator __l)
allocator_type get_allocator() const
void insert(const_iterator __f, const_iterator __l)
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
float load_factor() const
size_type erase(const key_type &__key)
const value_type & const_reference
_Self & operator=(_Self const &__other)
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
_Ht::const_local_iterator const_local_iterator