30 #ifndef _STLP_INTERNAL_HASH_MAP_H 31 #define _STLP_INTERNAL_HASH_MAP_H 33 #ifndef _STLP_INTERNAL_HASHTABLE_H 42 template <
class _Key,
class _Tp, _STLP_DFL_TMPL_PARAM(_HashFcn,hash<_Key>),
43 _STLP_DFL_TMPL_PARAM(_EqualKey,equal_to<_Key>),
44 _STLP_DEFAULT_PAIR_ALLOCATOR_
SELECT(_STLP_CONST _Key, _Tp) >
46 #
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
47 :
public __stlport_class<hash_map<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> >
97 #if !defined (_STLP_NO_MOVE_SEMANTIC) 103 #ifdef _STLP_MEMBER_TEMPLATES 104 template <
class _InputIterator>
105 hash_map(_InputIterator __f, _InputIterator __l)
108 template <
class _InputIterator>
112 template <
class _InputIterator>
117 # ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS 118 template <
class _InputIterator>
124 template <
class _InputIterator>
170 #if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 171 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
181 #ifdef _STLP_MEMBER_TEMPLATES 182 template <
class _InputIterator>
183 void insert(_InputIterator __f, _InputIterator __l)
233 template <
class _Key,
class _Tp, _STLP_DFL_TMPL_PARAM(_HashFcn,hash<_Key>),
234 _STLP_DFL_TMPL_PARAM(_EqualKey,equal_to<_Key>),
235 _STLP_DEFAULT_PAIR_ALLOCATOR_
SELECT(_STLP_CONST _Key, _Tp) >
237 #
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
238 :
public __stlport_class<hash_multimap<_Key, _Tp, _HashFcn, _EqualKey, _Alloc> >
288 #if !defined (_STLP_NO_MOVE_SEMANTIC) 294 #ifdef _STLP_MEMBER_TEMPLATES 295 template <
class _InputIterator>
299 template <
class _InputIterator>
303 template <
class _InputIterator>
308 # ifdef _STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS 309 template <
class _InputIterator>
315 template <
class _InputIterator>
361 #if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 362 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
373 #ifdef _STLP_MEMBER_TEMPLATES 374 template <
class _InputIterator>
375 void insert(_InputIterator __f, _InputIterator __l)
416 #define _STLP_TEMPLATE_HEADER template <class _Key, class _Tp, class _HashFcn, class _EqlKey, class _Alloc> 417 #define _STLP_TEMPLATE_CONTAINER hash_map<_Key,_Tp,_HashFcn,_EqlKey,_Alloc> 419 #undef _STLP_TEMPLATE_CONTAINER 420 #define _STLP_TEMPLATE_CONTAINER hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc> 422 #undef _STLP_TEMPLATE_CONTAINER 423 #undef _STLP_TEMPLATE_HEADER 425 #if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) 426 # if !defined (_STLP_NO_MOVE_SEMANTIC) 427 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
432 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
440 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
448 typedef void value_type;
449 typedef void difference_type;
466 template <
class _Key,
class _Tp,
class _HashFn,
class _EqKey,
class _Alloc>
475 typedef void value_type;
476 typedef void difference_type;
_Container container_type
hash_map(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf)
_STLP_PRIV _HashMultimapTraitsT< value_type > _HashMultimapTraits
ptrdiff_t difference_type
#define _STLP_CREATE_HASH_ITERATOR_TRAITS(Motif, Traits)
GLsizei const GLvoid * pointer
void resize(size_type __hint)
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
_Ht::allocator_type allocator_type
_STLP_TEMPLATE_FOR_CONT_EXT size_type erase(const _KT &__key)
_Ht::difference_type difference_type
size_type bucket_count() const
hash_multimap(const_iterator __f, const_iterator __l)
hash_multimap(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf)
#define _STLP_TEMPLATE_FOR_CONT_EXT
const_iterator end() const
hash_map(const_iterator __f, const_iterator __l, size_type __n)
void insert(const value_type *__f, const value_type *__l)
iterator insert(const value_type &__obj)
const_iterator end() const
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
void resize(size_type __num_buckets_hint)
hashtable< value_type, key_type, _HashFcn, _HashMapTraits, _STLP_SELECT1ST(value_type, _Key), _EqualKey, _Alloc > _Ht
size_type max_size() const
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
void insert(const_iterator __f, const_iterator __l)
_Ht::const_iterator const_iterator
_STLP_PRIV _Ht_iterator< _ElemsIte, _ConstTraits > const_iterator
_Ht::const_pointer const_pointer
void erase(iterator __it)
hash_map(size_type __n, const hasher &__hf)
iterator insert_noresize(const value_type &__obj)
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
hash_multimap(const value_type *__f, const value_type *__l, size_type __n)
pair< iterator, bool > insert_noresize(const value_type &__obj)
_Ht::difference_type difference_type
hash_map< _Key, _Tp, _HashFcn, _EqualKey, _Alloc > _Self
void erase(iterator __f, iterator __l)
_Ht::const_reference const_reference
void erase(iterator __it)
void insert(const value_type *__f, const value_type *__l)
allocator_type get_allocator() const
allocator_type get_allocator() const
const value_type * const_pointer
size_type max_bucket_count() const
void resize(size_type __hint)
#define _STLP_DEFAULT_CONSTRUCTED(_TTp)
hasher hash_funct() const
hash_multimap(const value_type *__f, const value_type *__l)
hasher hash_funct() const
iterator insert_equal(const value_type &__obj)
hash_multimap(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
size_type max_size() const
_Ht::const_pointer const_pointer
_STLP_TEMPLATE_FOR_CONT_EXT size_type erase(const _KT &__key)
hash_multimap(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
output_iterator_tag iterator_category
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
size_type bucket_count() const
void get(int argc, const char *argv[])
_NonConstTraits::reference reference
void erase(iterator __f, iterator __l)
#define _STLP_ALLOCATOR_TYPE_DFL
_STLP_INLINE_LOOP _InputIter const _Tp & __val
hash_multimap(const_iterator __f, const_iterator __l, size_type __n)
hash_map(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
pair< iterator, bool > insert_unique_noresize(const value_type &__obj)
hash_map(__move_source< _Self > src)
_STLP_PRIV _Ht_iterator< _ElemsIte, _NonConstTraits > iterator
pair< _STLP_CONST key_type, data_type > value_type
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
size_type elems_in_bucket(size_type __bucket) const
void insert(const_iterator __f, const_iterator __l)
hash_map(const value_type *__f, const value_type *__l)
const_iterator begin() const
_Ht::allocator_type allocator_type
hash_multimap(size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
_NonConstTraits::pointer pointer
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
size_type elems_in_bucket(size_type __n) const
allocator_type get_allocator() const
hash_map(const value_type *__f, const value_type *__l, size_type __n)
iterator insert_equal_noresize(const value_type &__obj)
size_type max_size() const
#define _STLP_KEY_TYPE_FOR_CONT_EXT(type)
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
WDF_CHILD_LIST_ITERATOR iterator
hash_multimap(size_type __n, const hasher &__hf)
const_iterator begin() const
_Ht::const_iterator const_iterator
hash_map(const_iterator __f, const_iterator __l)
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
#define _STLP_SELECT1ST(__x, __y)
size_type elems_in_bucket(size_type __n) const
_Ht::const_reference const_reference
hash_map(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf)
#define _STLP_END_NAMESPACE
hash_multimap(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf)
hash_map(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
pair< _STLP_CONST key_type, data_type > value_type
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
_STLP_PRIV _HashMapTraitsT< value_type > _HashMapTraits
hash_multimap(size_type __n)
hash_multimap< _Key, _Tp, _HashFcn, _EqualKey, _Alloc > _Self
hash_map(size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
size_type max_bucket_count() const
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
hasher hash_funct() const
pair< iterator, bool > insert(const value_type &__obj)
#define _STLP_BEGIN_NAMESPACE
size_type max_bucket_count() const
_STLP_TEMPLATE_FOR_CONT_EXT _Tp & operator[](const _KT &__key)
pair< iterator, bool > insert_unique(const value_type &__obj)
hash_multimap(__move_source< _Self > src)
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
hashtable< value_type, key_type, _HashFcn, _HashMultimapTraits, _STLP_SELECT1ST(value_type, _Key), _EqualKey, _Alloc > _Ht
reference _M_insert(const value_type &__obj)
insert_iterator(_Container &__x, typename _Container::iterator __i)
size_type bucket_count() const
size_type erase(const key_type &__key)
const value_type & const_reference
_Self & operator=(_Self const &__other)