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_local_if(_Predicate __pred)
GNU debug classes for public use.
Base class that supports tracking of local iterators that reference an unordered container.
void _M_invalidate_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.
Base class for constructing a safe unordered container type that tracks iterators that reference it...