29 #ifndef _GLIBCXX_DEBUG_SAFE_LOCAL_ITERATOR_TCC
30 #define _GLIBCXX_DEBUG_SAFE_LOCAL_ITERATOR_TCC 1
34 template<
typename _Iterator,
typename _Sequence>
35 template<
typename _Other>
37 _Safe_local_iterator<_Iterator, _Sequence>::
38 _M_valid_range(
const _Safe_local_iterator<_Other, _Sequence>& __rhs)
const
40 if (!_M_can_compare(__rhs))
42 if (_M_bucket != __rhs._M_bucket)
52 if (__dist.
first == 0)
58 return __dist.
first >= 0;
65 if (_M_is_begin() || __rhs._M_is_end())
67 if (_M_is_end() || __rhs._M_is_begin())
_T1 first
second_type is the second bound type
_T2 second
first is a copy of the first object
std::pair< typename std::iterator_traits< _Iterator1 >::difference_type, _Distance_precision > __get_distance(const _Iterator1 &__lhs, const _Iterator2 &__rhs, std::random_access_iterator_tag)
Struct holding two objects of arbitrary type.