20 #ifndef _STLP_DBG_ITERATOR_H 21 #define _STLP_DBG_ITERATOR_H 23 #ifndef _STLP_INTERNAL_PAIR_H 27 #ifndef _STLP_INTERNAL_ALLOC_H 36 template <
class _Iterator>
40 template <
class _Iterator>
44 template <
class _Iterator>
48 template <
class _Iterator>
52 template <
class _Iterator>
56 template <
class _Iterator>
60 template <
class _Iterator>
64 template <
class _Iterator>
70 template <
class _Iterator>
76 template <
class _Iterator>
82 template <
class _Iterator>
88 template <
class _Iterator>
92 template <
class _Iterator>
94 {
return (
__it._Get_container_ptr() != 0) && !(
__it._M_iterator == (
__it._Get_container_ptr())->
end()); }
96 template <
class _Iterator>
100 template <
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()));
108 template <
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());
118 template <
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);
156 template <
class _Container>
162 template <
class _Container>
168 template <
class _Container>
174 template <
class _Container>
182 template <
class _Container,
class _Traits>
197 template <
class _Container,
class _Traits>
215 #ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION 237 (
_Base&)*
this = __rhs;
242 (
_Base&)*
this = __rhs;
291 template <
class _Container,
class _Traits>
293 #if defined (_STLP_NESTED_TYPE_PARAM_BUG) 301 return *this->_M_iterator;
304 template <
class _Container>
311 template <
class _Container>
319 template <
class _Container>
327 template <
class _Container>
335 template <
class _Container>
343 template <
class _Container>
353 template <
class _Container,
class _Traits>
361 template <
class _Iterator>
365 #if defined (_STLP_FUNCTION_TMPL_PARTIAL_ORDER) 366 template <
class _Container,
class _Traits>
369 {
return __it._M_iterator; }
376 template <
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 425 template <
class _Container>
429 # if !defined (_STLP_DEBUG_USE_DISTINCT_VALUE_TYPE_HELPERS) 430 template <
class _Container>
437 template <
class _Container>
_Base::value_type value_type
_DBG_iter_mid< _Container, typename _Traits::_NonConstTraits > _Nonconst_self
_Container::_Iterator_category _Iterator_category
bool operator==(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
_DBG_iter_base< _Container > _Base
_Self & operator=(const _Nonconst_mid &__rhs)
_DBG_iter_mid(const _Nonconst_self &__it)
_DBG_iter< _Container, _Traits > _Self
_Container::value_type value_type
bool _Incrementable(const _Iterator &__it, ptrdiff_t __n, const forward_iterator_tag &)
GLsizei const GLvoid * pointer
_Self & operator+=(difference_type __n)
#define __STATIC_CAST(__x, __y)
_DBG_iter_mid(const __owned_list *__c, const _Const_iterator &__it)
bool operator!=(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
bool operator>=(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
_Self & operator=(const _Self &__rhs)
bool _Dereferenceable(const _Iterator &__it)
_Container::iterator _Nonconst_iterator
_DBG_iter_base(const __owned_list *__c, const _Const_iterator &__it)
_Iterator_category iterator_category
_DBG_iter_mid< _Container, typename _Traits::_NonConstTraits > _Nonconst_mid
ptrdiff_t operator-(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
_Container::pointer pointer
#define _STLP_MOVE_TO_PRIV_NAMESPACE
_DBG_iter_base< _Container > _IteType
_DBG_iter< _Container, _Traits > operator+(ptrdiff_t __n, const _DBG_iter< _Container, _Traits > &__it)
void __advance(ptrdiff_t __n)
_Traits::reference reference
_Self operator+(difference_type __n) const
_Self & operator-=(difference_type __n)
_Container::reference reference
__construct_checker(const _IteType &__f, const _IteType &__l)
_Iterator _Non_Dbg_iter(_Iterator __it)
ptrdiff_t _DBG_distance(const _Iterator &__x, const _Iterator &__y, const random_access_iterator_tag &)
_STLP_DEFINE_ARROW_OPERATOR _Self & operator++()
bool operator<(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
#define _STLP_MOVE_TO_STD_NAMESPACE
_Base::_Nonconst_iterator _Nonconst_iterator
__construct_checker(const value_type *__p)
_Self operator-(difference_type __n) const
_Base::_Const_iterator _Const_iterator
_Base::difference_type difference_type
_STLP_BEGIN_NAMESPACE _STLP_MOVE_TO_PRIV_NAMESPACE void _Decrement(_Iterator &__it, const bidirectional_iterator_tag &)
_STLP_MOVE_TO_PRIV_NAMESPACE const _InputIterator const input_iterator_tag &_InputIterator __it(__first)
bool _CompareIt(const _Iterator &, const _Iterator &, const forward_iterator_tag &)
_Container::const_iterator _Const_iterator
__construct_checker(const value_type *__f, const value_type *__l)
_Container::value_type value_type
_DBG_iter(const _Self &__rhs)
#define _STLP_DEBUG_CHECK(expr)
#define __REINTERPRET_CAST(__x, __y)
WDF_CHILD_LIST_ITERATOR iterator
bool operator>(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
_Container::iterator _Nonconst_iterator
#define _STLP_END_NAMESPACE
_Nonconst_iterator _M_iterator
__kernel_ptrdiff_t ptrdiff_t
reference operator *() const
#define _STLP_ASSERT(expr)
#define _STLP_DEFINE_ARROW_OPERATOR
#define _STLP_TYPENAME_ON_RETURN_TYPE
_DBG_iter(const __owned_list *__c, const _Const_iterator &__it)
_Container::const_iterator _Const_iterator
_DBG_iter(const _Nonconst_mid &__rhs)
_Container * _Get_container_ptr() const
#define _STLP_BEGIN_NAMESPACE
_Base::_Iterator_category _Iterator_category
_Container _Container_type
bool operator<=(const _DBG_iter_base< _Container > &__x, const _DBG_iter_base< _Container > &__y)
_Iterator::iterator_category iterator_category
reference operator[](difference_type __n) const
ptrdiff_t difference_type
void _Advance(_Iterator &, ptrdiff_t, const forward_iterator_tag &)
#define _STLP_VERBOSE_ASSERT(expr, diagnostic)