20#ifndef _STLP_DBG_ITERATOR_H
21#define _STLP_DBG_ITERATOR_H
23#ifndef _STLP_INTERNAL_PAIR_H
27#ifndef _STLP_INTERNAL_ALLOC_H
36template <
class _Iterator>
40template <
class _Iterator>
44template <
class _Iterator>
48template <
class _Iterator>
52template <
class _Iterator>
56template <
class _Iterator>
60template <
class _Iterator>
64template <
class _Iterator>
70template <
class _Iterator>
76template <
class _Iterator>
82template <
class _Iterator>
88template <
class _Iterator>
92template <
class _Iterator>
94{
return (
__it._Get_container_ptr() != 0) && !(
__it._M_iterator == (
__it._Get_container_ptr())->
end()); }
96template <
class _Iterator>
100template <
class _Iterator>
102 typedef typename _Iterator::_Container_type __container_type;
103 __container_type*
__c =
__it._Get_container_ptr();
104 return (
__c != 0) && ((
__n == 1 &&
__it._M_iterator !=
__c->end() ) ||
105 (
__n == -1 &&
__it._M_iterator !=
__c->begin()));
108template <
class _Iterator>
110 typedef typename _Iterator::_Container_type __container_type;
111 __container_type*
__c =
__it._Get_container_ptr();
112 if (
__c == 0)
return false;
114 return (__new_pos >= 0) && (
__STATIC_CAST(
typename __container_type::size_type, __new_pos) <=
__c->size());
118template <
class _Container>
130#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION
139#
if defined(__HP_aCC) && (__HP_aCC < 60000)
145 return (_Container*)__stl_debugger::_Get_container_ptr(
this);
156template <
class _Container>
162template <
class _Container>
168template <
class _Container>
174template <
class _Container>
182template <
class _Container,
class _Traits>
197template <
class _Container,
class _Traits>
215#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION
237 (
_Base&)*
this = __rhs;
242 (
_Base&)*
this = __rhs;
291template <
class _Container,
class _Traits>
293#if defined (_STLP_NESTED_TYPE_PARAM_BUG)
301 return *this->_M_iterator;
304template <
class _Container>
311template <
class _Container>
319template <
class _Container>
327template <
class _Container>
335template <
class _Container>
343template <
class _Container>
353template <
class _Container,
class _Traits>
361template <
class _Iterator>
365#if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER)
366template <
class _Container,
class _Traits>
369{
return __it._M_iterator; }
376template <
class _Container>
386#if defined (_STLP_MEMBER_TEMPLATES)
387 template <
class _InputIter>
390 _M_check_dispatch(__f, __l, _Integral());
393 template <
class _Integer>
394 void _M_check_dispatch(_Integer , _Integer,
const __true_type& ) {}
396 template <
class _InputIter>
397 void _M_check_dispatch(
const _InputIter& __f,
const _InputIter& __l,
const __false_type& ) {
402#if !defined (_STLP_MEMBER_TEMPLATES) || !defined (_STLP_NO_METHOD_SPECIALIZATION)
412#if defined (__BORLANDC__)
417#if defined (_STLP_USE_OLD_HP_ITERATOR_QUERIES)
418# if defined (_STLP_NESTED_TYPE_PARAM_BUG) ||\
419 (defined (__SUNPRO_CC) && __SUNPRO_CC < 0x600)
420# define _STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS 1
425template <
class _Container>
429# if !defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS)
430template <
class _Container>
437template <
class _Container>
bool _STLP_CALL operator!=(const allocator< _T1 > &, const allocator< _T2 > &) _STLP_NOTHROW
bool _STLP_CALL operator>(const _Bit_iterator_base &__x, const _Bit_iterator_base &__y)
bool _STLP_CALL operator>=(const _Bit_iterator_base &__x, const _Bit_iterator_base &__y)
bool _STLP_CALL operator<=(const _Bit_iterator_base &__x, const _Bit_iterator_base &__y)
complex< _Tp > _STLP_CALL operator-(const complex< _Tp > &__z)
#define _STLP_DEBUG_CHECK(expr)
#define _STLP_ASSERT(expr)
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
#define _STLP_DEFINE_ARROW_OPERATOR
CHString WINAPI operator+(CHSTRING_WCHAR ch, const CHString &string)
_DBG_iter_base< _Container > _IteType
_Container::value_type value_type
__construct_checker(const value_type *__p)
__construct_checker(const value_type *__f, const value_type *__l)
__construct_checker(const _IteType &__f, const _IteType &__l)
void _Advance(_Iterator &, ptrdiff_t, const forward_iterator_tag &)
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE void _Decrement(_Iterator &__it, const bidirectional_iterator_tag &)
_Iterator _Non_Dbg_iter(_Iterator __it)
ptrdiff_t _DBG_distance(const _Iterator &__x, const _Iterator &__y, const random_access_iterator_tag &)
bool _Incrementable(const _Iterator &__it, ptrdiff_t __n, const forward_iterator_tag &)
bool _CompareIt(const _Iterator &, const _Iterator &, const forward_iterator_tag &)
bool _Dereferenceable(const _Iterator &__it)
__kernel_ptrdiff_t ptrdiff_t
#define __REINTERPRET_CAST(__x, __y)
#define _STLP_TYPENAME_ON_RETURN_TYPE
#define _STLP_MOVE_TO_STD_NAMESPACE
#define __STATIC_CAST(__x, __y)
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
#define _STLP_MOVE_TO_PRIV_NAMESPACE
_Iterator_category iterator_category
void __advance(ptrdiff_t __n)
_Container::value_type value_type
_Container::_Iterator_category _Iterator_category
_Container * _Get_container_ptr() const
_Container _Container_type
_Container::const_iterator _Const_iterator
_Container::reference reference
_Nonconst_iterator _M_iterator
_DBG_iter_base(const __owned_list *__c, const _Const_iterator &__it)
_Container::iterator _Nonconst_iterator
_Container::pointer pointer
ptrdiff_t difference_type
_Container::const_iterator _Const_iterator
_DBG_iter_mid(const _Nonconst_self &__it)
_Container::iterator _Nonconst_iterator
_DBG_iter_mid< _Container, typename _Traits::_NonConstTraits > _Nonconst_self
_DBG_iter_mid(const __owned_list *__c, const _Const_iterator &__it)
_Base::difference_type difference_type
_Base::_Const_iterator _Const_iterator
_Self operator-(difference_type __n) const
_DBG_iter(const _Nonconst_mid &__rhs)
_Base::_Iterator_category _Iterator_category
reference operator*() const
_Traits::reference reference
_DBG_iter_base< _Container > _Base
_Self & operator=(const _Self &__rhs)
_Base::value_type value_type
_Self & operator-=(difference_type __n)
reference operator[](difference_type __n) const
_DBG_iter_mid< _Container, typename _Traits::_NonConstTraits > _Nonconst_mid
_STLP_DEFINE_ARROW_OPERATOR _Self & operator++()
_DBG_iter(const _Self &__rhs)
_Self & operator=(const _Nonconst_mid &__rhs)
_DBG_iter(const __owned_list *__c, const _Const_iterator &__it)
_Base::_Nonconst_iterator _Nonconst_iterator
_Self & operator+=(difference_type __n)
_Self operator+(difference_type __n) const
_DBG_iter< _Container, _Traits > _Self
_Iterator::iterator_category iterator_category
bool operator<(const TKeyDef &t1, const TKeyDef &t2)
bool operator==(const TKeyDef &t1, const TKeyDef &t2)