STLdoc
STLdocumentation
|
Basic functionality for a safe iterator. More...
#include <debug/safe_unordered_base.h>
Public Member Functions | |
void | _M_attach (_Safe_sequence_base *__seq, bool __constant) |
void | _M_attach_single (_Safe_sequence_base *__seq, bool __constant) throw () |
void | _M_detach () |
void | _M_detach_single () throw () |
Public Member Functions inherited from __gnu_debug::_Safe_iterator_base | |
void | _M_attach (_Safe_sequence_base *__seq, bool __constant) |
void | _M_attach_single (_Safe_sequence_base *__seq, bool __constant) throw () |
void | _M_detach () |
void | _M_detach_single () throw () |
bool | _M_attached_to (const _Safe_sequence_base *__seq) const |
_GLIBCXX_PURE bool | _M_singular () const throw () |
_GLIBCXX_PURE bool | _M_can_compare (const _Safe_iterator_base &__x) const throw () |
void | _M_invalidate () |
void | _M_reset () throw () |
void | _M_unlink () throw () |
Protected Member Functions | |
_Safe_local_iterator_base () | |
_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 & | operator= (const _Safe_local_iterator_base &) |
_Safe_local_iterator_base (const _Safe_local_iterator_base &) | |
~_Safe_local_iterator_base () | |
_Safe_unordered_container_base * | _M_get_container () const _GLIBCXX_NOEXCEPT |
Protected Member Functions inherited from __gnu_debug::_Safe_iterator_base | |
_Safe_iterator_base () | |
_Safe_iterator_base (const _Safe_sequence_base *__seq, bool __constant) | |
_Safe_iterator_base (const _Safe_iterator_base &__x, bool __constant) | |
_Safe_iterator_base & | operator= (const _Safe_iterator_base &) |
_Safe_iterator_base (const _Safe_iterator_base &) | |
~_Safe_iterator_base () | |
__gnu_cxx::__mutex & | _M_get_mutex () throw () |
Additional Inherited Members | |
Public Attributes inherited from __gnu_debug::_Safe_iterator_base | |
_Safe_sequence_base * | _M_sequence |
unsigned int | _M_version |
_Safe_iterator_base * | _M_prior |
_Safe_iterator_base * | _M_next |
Basic functionality for a safe iterator.
The _Safe_local_iterator_base base class implements the functionality of a safe local iterator that is not specific to a particular iterator type. It contains a pointer back to the container it references along with iterator version information and pointers to form a doubly-linked list of local iterators referenced by the container.
This class must not perform any operations that can throw an exception, or the exception guarantees of derived iterators will be broken.
|
inlineprotected |
|
inlineprotected |
Initialize the iterator to reference the container pointed to by __seq
. __constant
is true when we are initializing a constant local iterator, and false if it is a mutable local iterator. Note that __seq
may be NULL, in which case the iterator will be singular. Otherwise, the iterator will reference __seq
and be nonsingular.
|
inlineprotected |
Initializes the iterator to reference the same container that __x
does. __constant
is true if this is a constant iterator, and false if it is mutable.
|
explicitprotected |
|
inlineprotected |
void __gnu_debug::_Safe_local_iterator_base::_M_attach | ( | _Safe_sequence_base * | __seq, |
bool | __constant | ||
) |
Attaches this iterator to the given container, detaching it from whatever container it was attached to originally. If the new container is the NULL pointer, the iterator is left unattached.
void __gnu_debug::_Safe_local_iterator_base::_M_attach_single | ( | _Safe_sequence_base * | __seq, |
bool | __constant | ||
) | |||
throw | ( | ||
) |
Likewise, but not thread-safe.
void __gnu_debug::_Safe_local_iterator_base::_M_detach | ( | ) |
Detach the iterator for whatever container it is attached to, if any.
void __gnu_debug::_Safe_local_iterator_base::_M_detach_single | ( | ) | ||
throw | ( | |||
) |
Likewise, but not thread-safe.
|
protected |
|
protected |