30#ifndef _STLP_INTERNAL_HASH_SET_H
31#define _STLP_INTERNAL_HASH_SET_H
33#ifndef _STLP_INTERNAL_HASHTABLE_H
42template <
class _Value, _STLP_DFL_TMPL_PARAM(_HashFcn,hash<_Value>),
43 _STLP_DFL_TMPL_PARAM(_EqualKey, equal_to<_Value>),
44 _STLP_DFL_TMPL_PARAM(_Alloc, allocator<_Value>) >
46#
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
47 :
public __stlport_class<hash_set<_Value, _HashFcn, _EqualKey, _Alloc> >
89#if !defined (_STLP_DONT_SUP_DFLT_PARAM)
100#if !defined (_STLP_NO_MOVE_SEMANTIC)
105#if defined (_STLP_MEMBER_TEMPLATES)
106 template <
class _InputIterator>
107 hash_set(_InputIterator __f, _InputIterator __l)
110 template <
class _InputIterator>
114 template <
class _InputIterator>
119 template <
class _InputIterator>
125# if defined (_STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS)
126 template <
class _InputIterator>
171#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
172 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
183#if defined (_STLP_MEMBER_TEMPLATES)
184 template <
class _InputIterator>
185 void insert(_InputIterator __f, _InputIterator __l)
228template <
class _Value, _STLP_DFL_TMPL_PARAM(_HashFcn,hash<_Value>),
229 _STLP_DFL_TMPL_PARAM(_EqualKey, equal_to<_Value>),
230 _STLP_DFL_TMPL_PARAM(_Alloc, allocator<_Value>) >
232#
if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
233 :
public __stlport_class<hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc> >
281#if !defined (_STLP_NO_MOVE_SEMANTIC)
286#if defined (_STLP_MEMBER_TEMPLATES)
287 template <
class _InputIterator>
291 template <
class _InputIterator>
295 template <
class _InputIterator>
301 template <
class _InputIterator>
307# if defined (_STLP_NEEDS_EXTRA_TEMPLATE_CONSTRUCTORS)
308 template <
class _InputIterator>
353#if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND) && !defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
354 void _M_swap_workaround(
_Self& __x) {
swap(__x); }
364#if defined (_STLP_MEMBER_TEMPLATES)
365 template <
class _InputIterator>
366 void insert(_InputIterator __f, _InputIterator __l)
407#define _STLP_TEMPLATE_HEADER template <class _Value, class _HashFcn, class _EqualKey, class _Alloc>
408#define _STLP_TEMPLATE_CONTAINER hash_set<_Value,_HashFcn,_EqualKey,_Alloc>
412#undef _STLP_TEMPLATE_CONTAINER
413#define _STLP_TEMPLATE_CONTAINER hash_multiset<_Value,_HashFcn,_EqualKey,_Alloc>
416#undef _STLP_TEMPLATE_CONTAINER
417#undef _STLP_TEMPLATE_HEADER
422#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
423# if !defined (_STLP_NO_MOVE_SEMANTIC)
424template <
class _Value,
class _HashFcn,
class _EqualKey,
class _Alloc>
429template <
class _Value,
class _HashFcn,
class _EqualKey,
class _Alloc>
435template <
class _Value,
class _HashFcn,
class _EqualKey,
class _Alloc>
443 typedef void value_type;
444 typedef void difference_type;
461template <
class _Value,
class _HashFcn,
class _EqualKey,
class _Alloc>
466 typename _Container::iterator iter;
470 typedef void value_type;
471 typedef void difference_type;
_STLP_INLINE_LOOP _InputIter const _Tp & __val
#define _STLP_CREATE_HASH_ITERATOR_TRAITS(Motif, Traits)
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
void get(int argc, const char *argv[])
hash_multiset(size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a)
_Ht::const_pointer const_pointer
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
hash_multiset(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf)
_Ht::difference_type difference_type
_Ht::value_type value_type
_STLP_PRIV _HashMultisetTraitsT< _Value > _HashMultisetTraits
hash_multiset(size_type __n, const hasher &__hf)
_STLP_TEMPLATE_FOR_CONT_EXT size_type erase(const _KT &__key)
hasher hash_funct() const
void erase(iterator __f, iterator __l)
size_type max_size() const
hash_multiset(__move_source< _Self > src)
size_type bucket_count() const
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
hash_multiset(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
hash_multiset(const_iterator __f, const_iterator __l)
hash_multiset(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf)
void erase(iterator __it)
_Ht::const_reference const_reference
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
size_type elems_in_bucket(size_type __n) const
_Ht::const_iterator const_iterator
allocator_type get_allocator() const
void insert(const value_type *__f, const value_type *__l)
void insert(const_iterator __f, const_iterator __l)
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
size_type max_bucket_count() const
const_iterator begin() const
hash_multiset(const value_type *__f, const value_type *__l, size_type __n)
hashtable< _Value, _Value, _HashFcn, _HashMultisetTraits, _STLP_PRIV _Identity< _Value >, _EqualKey, _Alloc > _Ht
hash_multiset(size_type __n, const hasher &__hf, const key_equal &__eql)
hash_multiset(size_type __n)
void resize(size_type __hint)
hash_multiset(const_iterator __f, const_iterator __l, size_type __n)
iterator insert_noresize(const value_type &__obj)
hash_multiset(const value_type *__f, const value_type *__l)
_Ht::allocator_type allocator_type
hash_multiset< _Value, _HashFcn, _EqualKey, _Alloc > _Self
hash_multiset(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
iterator insert(const value_type &__obj)
const_iterator end() const
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
void insert(const_iterator __f, const_iterator __l)
hash_set(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf)
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
_STLP_PRIV _HashSetTraitsT< _Value > _HashSetTraits
_Ht::difference_type difference_type
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
_Ht::const_reference const_reference
const_iterator begin() const
hash_set(const value_type *__f, const value_type *__l, size_type __n)
hash_set(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf)
hash_set(const value_type *__f, const value_type *__l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
size_type max_size() const
hash_set(size_type __n, const hasher &__hf)
hash_set(const value_type *__f, const value_type *__l)
_Ht::const_iterator const_iterator
hash_set(const_iterator __f, const_iterator __l, size_type __n)
hash_set(const_iterator __f, const_iterator __l)
hash_set(const_iterator __f, const_iterator __l, size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
void erase(iterator __it)
hasher hash_funct() const
void erase(iterator __f, iterator __l)
size_type elems_in_bucket(size_type __n) const
const_iterator end() const
_STLP_TEMPLATE_FOR_CONT_EXT size_type erase(const _KT &__key)
pair< iterator, bool > insert_noresize(const value_type &__obj)
_Ht::const_pointer const_pointer
allocator_type get_allocator() const
size_type max_bucket_count() const
hash_set(size_type __n, const hasher &__hf, const key_equal &__eql, const allocator_type &__a=allocator_type())
void insert(const value_type *__f, const value_type *__l)
hashtable< _Value, _Value, _HashFcn, _HashSetTraits, _STLP_PRIV _Identity< _Value >, _EqualKey, _Alloc > _Ht
pair< iterator, bool > insert(const value_type &__obj)
hash_set< _Value, _HashFcn, _EqualKey, _Alloc > _Self
size_type bucket_count() const
_Ht::allocator_type allocator_type
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
hash_set(__move_source< _Self > src)
void resize(size_type __hint)
_Ht::value_type value_type
_NonConstTraits::reference reference
_STLP_PRIV _Ht_iterator< _ElemsIte, _ConstTraits > const_iterator
size_type erase(const key_type &__key)
const value_type & const_reference
const value_type * const_pointer
allocator_type get_allocator() const
ptrdiff_t difference_type
iterator insert_equal(const value_type &__obj)
pair< iterator, bool > insert_unique(const value_type &__obj)
_STLP_PRIV _Ht_iterator< _ElemsIte, _NonConstTraits > iterator
iterator insert_equal_noresize(const value_type &__obj)
size_type bucket_count() const
size_type max_bucket_count() const
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
size_type max_size() const
_NonConstTraits::pointer pointer
size_type elems_in_bucket(size_type __bucket) const
void resize(size_type __num_buckets_hint)
hasher hash_funct() const
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
pair< iterator, bool > insert_unique_noresize(const value_type &__obj)
output_iterator_tag iterator_category
_Self & operator=(_Self const &__other)
_Container container_type
#define _STLP_TEMPLATE_FOR_CONT_EXT
#define _STLP_ALLOCATOR_TYPE_DFL
#define _STLP_KEY_TYPE_FOR_CONT_EXT(type)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
GLsizei const GLvoid * pointer