29#ifndef _GLIBCXX_DEBUG_SAFE_UNORDERED_BASE_H
30#define _GLIBCXX_DEBUG_SAFE_UNORDERED_BASE_H 1
65 { this->
_M_attach(
const_cast<_Safe_sequence_base*
>(__seq), __constant); }
76 _Safe_unordered_container_base*
77 _M_get_container() const noexcept;
85 _M_attach(_Safe_sequence_base* __seq,
bool __constant);
120 class _Safe_unordered_container_base : public _Safe_sequence_base
122 friend class _Safe_local_iterator_base;
123 typedef _Safe_sequence_base _Base;
134 _Safe_unordered_container_base() noexcept
144 _Safe_unordered_container_base(_Safe_unordered_container_base&& __x)
146 : _Safe_unordered_container_base()
147 { this->_M_swap(__x); }
164 _M_swap(_Safe_unordered_container_base& __x)
noexcept;
169 _M_attach_local(_Safe_iterator_base* __it,
bool __constant);
173 _M_attach_local_single(_Safe_iterator_base* __it,
bool __constant)
throw ();
177 _M_detach_local(_Safe_iterator_base* __it);
181 _M_detach_local_single(_Safe_iterator_base* __it)
throw ();
GNU debug classes for public use.
_Safe_sequence_base * _M_sequence
constexpr _Safe_iterator_base()
Basic functionality for a safe iterator.
void _M_attach_single(_Safe_sequence_base *__seq, bool __constant)
void _M_attach(_Safe_sequence_base *__seq, bool __constant)
_Safe_local_iterator_base(const _Safe_sequence_base *__seq, bool __constant)
_Safe_local_iterator_base(const _Safe_local_iterator_base &__x, bool __constant)
_Safe_local_iterator_base()
Base class that supports tracking of local iterators that reference an unordered container.
void _M_swap(_Safe_unordered_container_base &__x) noexcept
~_Safe_unordered_container_base() noexcept
_Safe_iterator_base * _M_const_local_iterators
The list of constant local iterators that reference this container.
_Safe_iterator_base * _M_local_iterators
The list of mutable local iterators that reference this container.