30#ifndef _STLP_INTERNAL_DBG_HASHTABLE_H
31#define _STLP_INTERNAL_DBG_HASHTABLE_H
37#ifndef _STLP_DBG_ITERATOR_H
45template <
class _Key,
class _Equal>
52#if !defined (_STLP_USE_CONTAINERS_EXTENSION)
55 template <
class _Kp1,
class _Kp2>
56 bool operator () (
const _Kp1& __lhs,
const _Kp2& __rhs)
const
59#if !defined (_STLP_USE_CONTAINERS_EXTENSION)
72#define _STLP_NON_DBG_HT \
73_STLP_PRIV _STLP_NON_DBG_NAME(hashtable) <_Val, _Key, _HF, _Traits, _ExK, _STLP_PRIV _DbgEqual<_Key, _EqK>, _All>
75#if defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS)
76template <
class _Val,
class _Key,
class _HF,
77 class _ExK,
class _EqK,
class _All>
82template <
class _Val,
class _Key,
class _HF,
83 class _ExK,
class _EqK,
class _All>
89template <
class _Val,
class _Key,
class _HF,
90 class _Traits,
class _ExK,
class _EqK,
class _All>
153#if !defined (_STLP_NO_MOVE_SEMANTIC)
157# if defined (_STLP_NO_EXTENSIONS) || (_STLP_DEBUG_LEVEL == _STLP_STANDARD_DBG_LEVEL)
158 src.get()._M_iter_list._Invalidate_all();
225#if defined (_STLP_MEMBER_TEMPLATES)
226 template <
class _InputIterator>
232 template <
class _InputIterator>
233 void insert_equal(_InputIterator __f, _InputIterator __l){
279 pair <_Base_const_iterator, _Base_const_iterator> __res =
_M_non_dbg_impl.equal_range(__key);
334#undef _STLP_NON_DBG_HT
_STLP_INLINE_LOOP _InputIter __last
#define _STLP_DEBUG_CHECK(expr)
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
void get(int argc, const char *argv[])
_DbgEqual(const _DbgEqual &__eq)
bool operator()(const _Key &__lhs, const _Key &__rhs) const
_DbgEqual(const _Equal &__eq)
_Equal non_dbg_key_eq() const
local_iterator begin(size_type __n)
_NonConstTraits::reference reference
_STLP_TEMPLATE_FOR_CONT_EXT const_iterator find(const _KT &__key) const
_Traits::_NonConstLocalTraits _NonConstLocalTraits
_STLP_PRIV _Ht_iterator< _ElemsIte, _ConstTraits > const_iterator
size_type elems_in_bucket(size_type __n) const
const_local_iterator begin(size_type __n) const
hashtable(__move_source< _Self > src)
pair< iterator, bool > insert_unique_noresize(const value_type &__obj)
hashtable(size_type __n, const _HF &__hf, const _EqK &__eql, const allocator_type &__a=allocator_type())
void insert_equal(const_iterator __f, const_iterator __l)
allocator_type get_allocator() const
hashtable< _Val, _Key, _HF, _Traits, _ExK, _EqK, _All > _Self
local_iterator end(size_type __n)
void max_load_factor(float __z)
_Traits::_ConstTraits _ConstTraits
size_type erase(const key_type &__key)
void erase(const const_iterator &__it)
iterator insert_equal(const value_type &__obj)
const_iterator begin() const
void resize(size_type __num_elements_hint)
void _Invalidate_iterators(const const_iterator &__first, const const_iterator &__last)
pair< iterator, bool > insert_unique(const value_type &__obj)
_STLP_PRIV _Ht_iterator< _ElemsIte, _NonConstTraits > iterator
_Traits::_ConstLocalTraits _ConstLocalTraits
hashtable(const _Self &__ht)
_Base::iterator _Base_iterator
reference _M_insert(const value_type &__obj)
void insert_unique(const_iterator __f, const_iterator __l)
size_type bucket_count() const
float max_load_factor() const
size_type max_bucket_count() const
void insert_equal(const value_type *__f, const value_type *__l)
void erase(const_iterator __first, const_iterator __last)
_STLP_TEMPLATE_FOR_CONT_EXT pair< iterator, iterator > equal_range(const _KT &__key)
_Base::const_iterator _Base_const_iterator
_STLP_TEMPLATE_FOR_CONT_EXT iterator find(const _KT &__key)
void _Invalidate_iterator(const const_iterator &__it)
size_type max_size() const
const_iterator end() const
_Traits::_NonConstTraits _NonConstTraits
void insert_unique(const value_type *__f, const value_type *__l)
_Self & operator=(const _Self &__ht)
_STLP_PRIV _Ht_iterator< _ElemsIte, _ConstLocalTraits > const_local_iterator
const_local_iterator end(size_type __n) const
void rehash(size_type __num_buckets_hint)
hashtable(size_type __n, const _HF &__hf, const _EqK &__eql, const _ExK &__ext, const allocator_type &__a=allocator_type())
float load_factor() const
_STLP_TEMPLATE_FOR_CONT_EXT pair< const_iterator, const_iterator > equal_range(const _KT &__key) const
_STLP_PRIV _Ht_iterator< _ElemsIte, _NonConstLocalTraits > local_iterator
hasher hash_funct() const
_STLP_TEMPLATE_FOR_CONT_EXT size_type bucket(const _KT &__k) const
_STLP_PRIV __owned_list _M_iter_list
_STLP_TEMPLATE_FOR_CONT_EXT size_type count(const _KT &__key) const
iterator insert_equal_noresize(const value_type &__obj)
_Iterator _Non_Dbg_iter(_Iterator __it)
bool _Dereferenceable(const _Iterator &__it)
#define _STLP_TEMPLATE_FOR_CONT_EXT
#define _STLP_MOVE_TO_STD_NAMESPACE
#define __IMPORT_CONTAINER_TYPEDEFS(_Super)
#define _STLP_KEY_TYPE_FOR_CONT_EXT(type)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
#define _STLP_MOVE_TO_PRIV_NAMESPACE