29 #ifndef _GLIBCXX_DEBUG_SAFE_UNORDERED_CONTAINER_H 30 #define _GLIBCXX_DEBUG_SAFE_UNORDERED_CONTAINER_H 1 57 template<
typename _Container>
63 {
return *
static_cast<_Container*
>(
this); }
67 _M_invalidate_locals()
69 auto __local_end = _M_cont()._M_base().end(0);
71 [__local_end](__decltype(_M_cont()._M_base().
cend(0)) __it)
72 {
return __it != __local_end; });
78 auto __end = _M_cont()._M_base().end();
80 [__end](__decltype(_M_cont()._M_base().
cend()) __it)
81 {
return __it != __end; });
82 _M_invalidate_locals();
89 template<
typename _Predicate>
97 template<
typename _Predicate>
void _M_invalidate_if(_Predicate __pred)
Base class for constructing a safe unordered container type that tracks iterators that reference it...
void _M_invalidate_local_if(_Predicate __pred)
constexpr auto cend(const _Container &__cont) noexcept(noexcept(std::end(__cont))) -> decltype(std::end(__cont))
Return an iterator pointing to one past the last element of the const container.
GNU debug classes for public use.
Base class that supports tracking of local iterators that reference an unordered container.