.TH "__gnu_debug::_Safe_local_iterator_base" 3cxx "Sun Jan 6 2013" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME __gnu_debug::_Safe_local_iterator_base \- .SH SYNOPSIS .br .PP .PP Inherits \fB__gnu_debug::_Safe_iterator_base\fP\&. .PP Inherited by \fB__gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "void \fB_M_attach\fP (\fB_Safe_sequence_base\fP *__seq, bool __constant)" .br .ti -1c .RI "void \fB_M_attach_single\fP (\fB_Safe_sequence_base\fP *__seq, bool __constant) throw ()" .br .ti -1c .RI "bool \fB_M_attached_to\fP (const \fB_Safe_sequence_base\fP *__seq) const " .br .ti -1c .RI "bool \fB_M_can_compare\fP (const \fB_Safe_iterator_base\fP &__x) const throw ()" .br .ti -1c .RI "void \fB_M_detach\fP ()" .br .ti -1c .RI "void \fB_M_detach_single\fP () throw ()" .br .ti -1c .RI "void \fB_M_invalidate\fP ()" .br .ti -1c .RI "void \fB_M_reset\fP () throw ()" .br .ti -1c .RI "bool \fB_M_singular\fP () const throw ()" .br .ti -1c .RI "void \fB_M_unlink\fP () throw ()" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fB_Safe_iterator_base\fP * \fB_M_next\fP" .br .ti -1c .RI "\fB_Safe_iterator_base\fP * \fB_M_prior\fP" .br .ti -1c .RI "\fB_Safe_sequence_base\fP * \fB_M_sequence\fP" .br .ti -1c .RI "unsigned int \fB_M_version\fP" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "\fB_Safe_local_iterator_base\fP ()" .br .ti -1c .RI "\fB_Safe_local_iterator_base\fP (const \fB_Safe_sequence_base\fP *__seq, bool __constant)" .br .ti -1c .RI "\fB_Safe_local_iterator_base\fP (const \fB_Safe_local_iterator_base\fP &__x, bool __constant)" .br .ti -1c .RI "\fB_Safe_local_iterator_base\fP (const \fB_Safe_local_iterator_base\fP &)" .br .ti -1c .RI "\fB_Safe_unordered_container_base\fP * \fB_M_get_container\fP () const _GLIBCXX_NOEXCEPT" .br .ti -1c .RI "__gnu_cxx::__mutex & \fB_M_get_mutex\fP () throw ()" .br .ti -1c .RI "\fB_Safe_local_iterator_base\fP & \fBoperator=\fP (const \fB_Safe_local_iterator_base\fP &)" .br .in -1c .SH "Detailed Description" .PP Basic functionality for a \fIsafe\fP 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\&. .PP This class must not perform any operations that can throw an exception, or the exception guarantees of derived iterators will be broken\&. .PP Definition at line 50 of file safe_unordered_base\&.h\&. .SH "Constructor & Destructor Documentation" .PP .SS "__gnu_debug::_Safe_local_iterator_base::_Safe_local_iterator_base ()\fC [inline]\fP, \fC [protected]\fP" Initializes the iterator and makes it singular\&. .PP Definition at line 54 of file safe_unordered_base\&.h\&. .SS "__gnu_debug::_Safe_local_iterator_base::_Safe_local_iterator_base (const \fB_Safe_sequence_base\fP *__seq, bool__constant)\fC [inline]\fP, \fC [protected]\fP" Initialize the iterator to reference the container pointed to by \fC__seq\fP\&. \fC__constant\fP is true when we are initializing a constant local iterator, and false if it is a mutable local iterator\&. Note that \fC__seq\fP may be NULL, in which case the iterator will be singular\&. Otherwise, the iterator will reference \fC__seq\fP and be nonsingular\&. .PP Definition at line 64 of file safe_unordered_base\&.h\&. .PP References _M_attach()\&. .SS "__gnu_debug::_Safe_local_iterator_base::_Safe_local_iterator_base (const \fB_Safe_local_iterator_base\fP &__x, bool__constant)\fC [inline]\fP, \fC [protected]\fP" .PP .nf Initializes the iterator to reference the same container that .fi .PP \fC__x\fP does\&. \fC__constant\fP is true if this is a constant iterator, and false if it is mutable\&. .PP Definition at line 70 of file safe_unordered_base\&.h\&. .PP References _M_attach(), and __gnu_debug::_Safe_iterator_base::_M_sequence\&. .SH "Member Function Documentation" .PP .SS "void __gnu_debug::_Safe_local_iterator_base::_M_attach (\fB_Safe_sequence_base\fP *__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\&. .PP Referenced by _Safe_local_iterator_base()\&. .SS "void __gnu_debug::_Safe_local_iterator_base::_M_attach_single (\fB_Safe_sequence_base\fP *__seq, bool__constant) throw ()" Likewise, but not thread-safe\&. .SS "bool __gnu_debug::_Safe_iterator_base::_M_attached_to (const \fB_Safe_sequence_base\fP *__seq) const\fC [inline]\fP, \fC [inherited]\fP" Determines if we are attached to the given sequence\&. .PP Definition at line 130 of file safe_base\&.h\&. .PP References __gnu_debug::_Safe_iterator_base::_M_sequence\&. .SS "bool __gnu_debug::_Safe_iterator_base::_M_can_compare (const \fB_Safe_iterator_base\fP &__x) const throw ()\fC [inherited]\fP" .PP .nf Can we compare this iterator to the given iterator @p __x? .fi .PP Returns true if both iterators are nonsingular and reference the same sequence\&. .SS "void __gnu_debug::_Safe_local_iterator_base::_M_detach ()" Detach the iterator for whatever container it is attached to, if any\&. .SS "void __gnu_debug::_Safe_local_iterator_base::_M_detach_single () throw ()" Likewise, but not thread-safe\&. .SS "__gnu_cxx::__mutex& __gnu_debug::_Safe_iterator_base::_M_get_mutex () throw ()\fC [protected]\fP, \fC [inherited]\fP" For use in \fB_Safe_iterator\fP\&. .SS "void __gnu_debug::_Safe_iterator_base::_M_invalidate ()\fC [inline]\fP, \fC [inherited]\fP" Invalidate the iterator, making it singular\&. .PP Definition at line 143 of file safe_base\&.h\&. .PP References __gnu_debug::_Safe_iterator_base::_M_version\&. .SS "void __gnu_debug::_Safe_iterator_base::_M_reset () throw ()\fC [inherited]\fP" Reset all member variables .SS "bool __gnu_debug::_Safe_iterator_base::_M_singular () const throw ()\fC [inherited]\fP" Is this iterator singular? .PP Referenced by __gnu_debug::__check_singular(), __gnu_debug::__check_singular_aux(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::_M_dereferenceable(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_dereferenceable(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::_M_incrementable(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_M_incrementable(), __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::_Safe_iterator(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::_Safe_local_iterator(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator=(), and __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::operator=()\&. .SS "void __gnu_debug::_Safe_iterator_base::_M_unlink () throw ()\fC [inline]\fP, \fC [inherited]\fP" Unlink itself .PP Definition at line 152 of file safe_base\&.h\&. .PP References __gnu_debug::_Safe_iterator_base::_M_next, and __gnu_debug::_Safe_iterator_base::_M_prior\&. .SH "Member Data Documentation" .PP .SS "\fB_Safe_iterator_base\fP* __gnu_debug::_Safe_iterator_base::_M_next\fC [inherited]\fP" .PP .nf Pointer to the next iterator in the sequence's list of .fi .PP iterators\&. Only valid when _M_sequence != NULL\&. .PP Definition at line 73 of file safe_base\&.h\&. .PP Referenced by __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if(), and __gnu_debug::_Safe_iterator_base::_M_unlink()\&. .SS "\fB_Safe_iterator_base\fP* __gnu_debug::_Safe_iterator_base::_M_prior\fC [inherited]\fP" .PP .nf Pointer to the previous iterator in the sequence's list of .fi .PP iterators\&. Only valid when _M_sequence != NULL\&. .PP Definition at line 69 of file safe_base\&.h\&. .PP Referenced by __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if(), and __gnu_debug::_Safe_iterator_base::_M_unlink()\&. .SS "\fB_Safe_sequence_base\fP* __gnu_debug::_Safe_iterator_base::_M_sequence\fC [inherited]\fP" .PP .nf The sequence this iterator references; may be NULL to indicate .fi .PP a singular iterator\&. .PP Definition at line 56 of file safe_base\&.h\&. .PP Referenced by __gnu_debug::_Safe_iterator_base::_M_attached_to(), __gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if(), __gnu_debug::_Safe_iterator_base::_Safe_iterator_base(), _Safe_local_iterator_base(), __gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator=(), and __gnu_debug::_Safe_iterator< _Iterator, _Sequence >::operator=()\&. .SS "unsigned int __gnu_debug::_Safe_iterator_base::_M_version\fC [inherited]\fP" The version number of this iterator\&. The sentinel value 0 is used to indicate an invalidated iterator (i\&.e\&., one that is singular because of an operation on the container)\&. This version number must equal the version number in the sequence referenced by _M_sequence for the iterator to be non-singular\&. .PP Definition at line 65 of file safe_base\&.h\&. .PP Referenced by __gnu_debug::_Safe_iterator_base::_M_invalidate()\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.