29 #ifndef _GLIBCXX_DEBUG_SAFE_SEQUENCE_H 30 #define _GLIBCXX_DEBUG_SAFE_SEQUENCE_H 1 43 template<
typename _Type>
52 operator()(
const _Type& __x)
const 53 {
return __value != __x; }
58 template <
typename _Type>
64 explicit _Equal_to(
const _Type& __v) : __value(__v) { }
67 operator()(
const _Type& __x)
const 68 {
return __value == __x; }
73 template<
typename _Iterator>
76 typedef typename std::iterator_traits<_Iterator>::difference_type
84 : _M_base(__base), _M_n(__n) { }
87 operator()(
const _Iterator& __x)
const 88 {
return __x - _M_base >= _M_n; }
107 template<
typename _Sequence>
115 template<
typename _Predicate>
123 template<
typename _Predicate>
130 template<
typename _Sequence>
138 typedef typename _Sequence::const_iterator _Const_iterator;
139 typedef typename _Const_iterator::iterator_type _Base_const_iterator;
141 const _Sequence& __seq = *static_cast<_Sequence*>(
this);
Like _Safe_sequence but with a special _M_invalidate_all implementation not invalidating past-the-end...
GNU debug classes for public use.
Base class that supports tracking of iterators that reference a sequence.
Base class for constructing a safe sequence type that tracks iterators that reference it.
void _M_transfer_from_if(_Safe_sequence &__from, _Predicate __pred)
void _M_invalidate_if(_Predicate __pred)