29 #ifndef _GLIBCXX_DEBUG_SAFE_SEQUENCE_H
30 #define _GLIBCXX_DEBUG_SAFE_SEQUENCE_H 1
39 template<
typename _Iterator,
typename _Sequence>
46 template<
typename _Type>
55 operator()(
const _Type& __x)
const
56 {
return __value != __x; }
61 template <
typename _Type>
67 explicit _Equal_to(
const _Type& __v) : __value(__v) { }
70 operator()(
const _Type& __x)
const
71 {
return __value == __x; }
76 template<
typename _Iterator>
79 typedef typename std::iterator_traits<_Iterator>::difference_type
87 : _M_base(__base), _M_n(__n) { }
90 operator()(
const _Iterator& __x)
const
91 {
return __x - _M_base >= _M_n; }
110 template<
typename _Sequence>
118 template<
typename _Predicate>
126 template<
typename _Predicate>
132 #include <debug/safe_sequence.tcc>
Base class for constructing a safe sequence type that tracks iterators that reference it...
void _M_invalidate_if(_Predicate __pred)
_Siter_base< _Iterator >::iterator_type __base(_Iterator __it)
void _M_transfer_from_if(_Safe_sequence &__from, _Predicate __pred)
GNU debug classes for public use.
Base class that supports tracking of iterators that reference a sequence.