.TH "__gnu_debug" 3 "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME __gnu_debug \- GNU debug classes for public use\&. .SH SYNOPSIS .br .PP .SS "Classes" .in +1c .ti -1c .RI "class \fB_After_nth_from\fP" .br .ti -1c .RI "struct \fB_BeforeBeginHelper\fP" .br .ti -1c .RI "class \fB_Equal_to\fP" .br .ti -1c .RI "class \fB_Not_equal_to\fP" .br .ti -1c .RI "class \fB_Safe_container\fP" .br .RI "Safe class dealing with some allocator dependent operations\&. " .ti -1c .RI "class \fB_Safe_forward_list\fP" .br .RI "Special iterators swap and invalidation for forward_list because of the before_begin iterator\&. " .ti -1c .RI "class \fB_Safe_iterator\fP" .br .RI "Safe iterator wrapper\&. " .ti -1c .RI "class \fB_Safe_iterator_base\fP" .br .RI "Basic functionality for a \fIsafe\fP iterator\&. " .ti -1c .RI "class \fB_Safe_local_iterator\fP" .br .RI "Safe iterator wrapper\&. " .ti -1c .RI "class \fB_Safe_local_iterator_base\fP" .br .RI "Basic functionality for a \fIsafe\fP iterator\&. " .ti -1c .RI "class \fB_Safe_node_sequence\fP" .br .RI "Like _Safe_sequence but with a special _M_invalidate_all implementation not invalidating past-the-end iterators\&. Used by node based sequence\&. " .ti -1c .RI "class \fB_Safe_sequence\fP" .br .RI "Base class for constructing a \fIsafe\fP sequence type that tracks iterators that reference it\&. " .ti -1c .RI "class \fB_Safe_sequence_base\fP" .br .RI "Base class that supports tracking of iterators that reference a sequence\&. " .ti -1c .RI "class \fB_Safe_unordered_container\fP" .br .RI "Base class for constructing a \fIsafe\fP unordered container type that tracks iterators that reference it\&. " .ti -1c .RI "class \fB_Safe_unordered_container_base\fP" .br .RI "Base class that supports tracking of local iterators that reference an unordered container\&. " .ti -1c .RI "class \fB_Safe_vector\fP" .br .RI "Base class for Debug Mode vector\&. " .ti -1c .RI "struct \fB_Sequence_traits\fP" .br .ti -1c .RI "class \fBbasic_string\fP" .br .RI "Class std::basic_string with safety/checking/debug instrumentation\&. " .ti -1c .RI "class \fBtype_info\fP" .br .RI "Part of RTTI\&. " .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef \fBbasic_string\fP< char > \fBstring\fP" .br .ti -1c .RI "typedef \fBbasic_string\fP< char16_t > \fBu16string\fP" .br .RI "A string of \fRchar16_t\fP\&. " .ti -1c .RI "typedef \fBbasic_string\fP< char32_t > \fBu32string\fP" .br .RI "A string of \fRchar32_t\fP\&. " .ti -1c .RI "typedef \fBbasic_string\fP< wchar_t > \fBwstring\fP" .br .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fB_Debug_msg_id\fP { \fB__msg_valid_range\fP, \fB__msg_insert_singular\fP, \fB__msg_insert_different\fP, \fB__msg_erase_bad\fP, \fB__msg_erase_different\fP, \fB__msg_subscript_oob\fP, \fB__msg_empty\fP, \fB__msg_unpartitioned\fP, \fB__msg_unpartitioned_pred\fP, \fB__msg_unsorted\fP, \fB__msg_unsorted_pred\fP, \fB__msg_not_heap\fP, \fB__msg_not_heap_pred\fP, \fB__msg_bad_bitset_write\fP, \fB__msg_bad_bitset_read\fP, \fB__msg_bad_bitset_flip\fP, \fB__msg_self_splice\fP, \fB__msg_splice_alloc\fP, \fB__msg_splice_bad\fP, \fB__msg_splice_other\fP, \fB__msg_splice_overlap\fP, \fB__msg_init_singular\fP, \fB__msg_init_copy_singular\fP, \fB__msg_init_const_singular\fP, \fB__msg_copy_singular\fP, \fB__msg_bad_deref\fP, \fB__msg_bad_inc\fP, \fB__msg_bad_dec\fP, \fB__msg_iter_subscript_oob\fP, \fB__msg_advance_oob\fP, \fB__msg_retreat_oob\fP, \fB__msg_iter_compare_bad\fP, \fB__msg_compare_different\fP, \fB__msg_iter_order_bad\fP, \fB__msg_order_different\fP, \fB__msg_distance_bad\fP, \fB__msg_distance_different\fP, \fB__msg_deref_istream\fP, \fB__msg_inc_istream\fP, \fB__msg_output_ostream\fP, \fB__msg_deref_istreambuf\fP, \fB__msg_inc_istreambuf\fP, \fB__msg_insert_after_end\fP, \fB__msg_erase_after_bad\fP, \fB__msg_valid_range2\fP, \fB__msg_local_iter_compare_bad\fP, \fB__msg_non_empty_range\fP, \fB__msg_self_move_assign\fP, \fB__msg_bucket_index_oob\fP, \fB__msg_valid_load_factor\fP, \fB__msg_equal_allocs\fP, \fB__msg_insert_range_from_self\fP, \fB__msg_irreflexive_ordering\fP }" .br .ti -1c .RI "enum \fB_Distance_precision\fP { \fB__dp_none\fP, \fB__dp_equality\fP, \fB__dp_sign\fP, \fB__dp_sign_max_size\fP, \fB__dp_exact\fP }" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "template constexpr _Iterator \fB__base\fP (_Iterator __it)" .br .ti -1c .RI "template constexpr _Iterator \fB__base\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, \fBstd::random_access_iterator_tag\fP > &__it)" .br .ti -1c .RI "template constexpr auto \fB__base\fP (const \fBstd::move_iterator\fP< _Iterator > &__it) \-> decltype(std::make_move_iterator(__base(__it\&.base())))" .br .ti -1c .RI "template constexpr \fBstd::reverse_iterator\fP< _Iterator > \fB__base\fP (const \fBstd::reverse_iterator\fP< \fB_Safe_iterator\fP< _Iterator, _Sequence, \fBstd::random_access_iterator_tag\fP > > &__it)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (_InputIterator, _Size)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (_InputIterator, const \fBstd::pair\fP< _Diff, \fB_Distance_precision\fP > &, int)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, _Size)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, const \fBstd::pair\fP< _Diff, \fB_Distance_precision\fP > &, int)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (const \fBstd::move_iterator\fP< _Iterator > &__it, _Size __n)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (const \fBstd::move_iterator\fP< _Iterator > &__it, const \fBstd::pair\fP< _Diff, \fB_Distance_precision\fP > &__dist, int __way)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (const \fBstd::reverse_iterator\fP< _Iterator > &__it, _Size __n)" .br .ti -1c .RI "template constexpr bool \fB__can_advance\fP (const \fBstd::reverse_iterator\fP< _Iterator > &__it, const \fBstd::pair\fP< _Diff, \fB_Distance_precision\fP > &__dist, int __way)" .br .ti -1c .RI "template constexpr bool \fB__check_partitioned_lower\fP (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)" .br .ti -1c .RI "template constexpr bool \fB__check_partitioned_lower\fP (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value, _Pred __pred)" .br .ti -1c .RI "template constexpr bool \fB__check_partitioned_upper\fP (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value)" .br .ti -1c .RI "template constexpr bool \fB__check_partitioned_upper\fP (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__value, _Pred __pred)" .br .ti -1c .RI "template constexpr bool \fB__check_singular\fP (_Iterator const &)" .br .ti -1c .RI "template constexpr bool \fB__check_singular\fP (_Tp *const &__ptr)" .br .ti -1c .RI "bool \fB__check_singular_aux\fP (const \fB_Safe_iterator_base\fP *__x)" .br .ti -1c .RI "bool \fB__check_singular_aux\fP (const class \fB_Safe_iterator_base\fP *)" .br .ti -1c .RI "bool \fB__check_singular_aux\fP (const void *)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted\fP (const _InputIterator &__first, const _InputIterator &__last)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted\fP (const _InputIterator &__first, const _InputIterator &__last, _Predicate __pred)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_aux\fP (_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, \fBstd::forward_iterator_tag\fP)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_aux\fP (_ForwardIterator __first, _ForwardIterator __last, \fBstd::forward_iterator_tag\fP)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_aux\fP (const _InputIterator &, const _InputIterator &, _Predicate, \fBstd::input_iterator_tag\fP)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_aux\fP (const _InputIterator &, const _InputIterator &, \fBstd::input_iterator_tag\fP)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_set\fP (const _InputIterator1 &__first, const _InputIterator1 &__last, const _InputIterator2 &)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_set\fP (const _InputIterator1 &__first, const _InputIterator1 &__last, const _InputIterator2 &, _Predicate __pred)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_set_aux\fP (const _InputIterator &, const _InputIterator &, _Predicate, std::__false_type)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_set_aux\fP (const _InputIterator &, const _InputIterator &, std::__false_type)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_set_aux\fP (const _InputIterator &__first, const _InputIterator &__last, _Predicate __pred, std::__true_type)" .br .ti -1c .RI "template constexpr bool \fB__check_sorted_set_aux\fP (const _InputIterator &__first, const _InputIterator &__last, std::__true_type)" .br .ti -1c .RI "template const _CharT * \fB__check_string\fP (const _CharT *__s, _Integer __n, const char *__file, unsigned int __line, const char *__function)" .br .ti -1c .RI "template const _CharT * \fB__check_string\fP (const _CharT *__s, const char *__file, unsigned int __line, const char *__function)" .br .ti -1c .RI "template constexpr _InputIterator \fB__check_valid_range\fP (const _InputIterator &__first, const _InputIterator &__last, const char *__file, unsigned int __line, const char *__function)" .br .ti -1c .RI "template bool \fB__foreign_iterator\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &__it, _InputIterator __other, _InputIterator __other_end)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux2\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, const \fB_Safe_iterator\fP< _OtherIterator, _OtherSequence, _OtherCategory > &, const \fB_Safe_iterator\fP< _OtherIterator, _OtherSequence, _OtherCategory > &)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux2\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &__it, const _InputIterator &__other, const _InputIterator &__other_end)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux2\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &__it, const \fB_Safe_iterator\fP< _OtherIterator, _Sequence, _Category > &__other, const \fB_Safe_iterator\fP< _OtherIterator, _Sequence, _Category > &)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux3\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, const _InputIterator &, const _InputIterator &, std::__false_type)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux3\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &__it, const _InputIterator &__other, const _InputIterator &__other_end, std::__true_type)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux4\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &,\&.\&.\&.)" .br .ti -1c .RI "template bool \fB__foreign_iterator_aux4\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &__it, const typename _Sequence::value_type *__other)" .br .ti -1c .RI "template constexpr _Distance_traits< _Iterator >::__type \fB__get_distance\fP (_Iterator __lhs, _Iterator __rhs)" .br .ti -1c .RI "template constexpr _Distance_traits< _Iterator >::__type \fB__get_distance\fP (_Iterator __lhs, _Iterator __rhs, \fBstd::input_iterator_tag\fP)" .br .ti -1c .RI "template constexpr _Distance_traits< _Iterator >::__type \fB__get_distance\fP (_Iterator __lhs, _Iterator __rhs, \fBstd::random_access_iterator_tag\fP)" .br .ti -1c .RI "template constexpr _Distance_traits< _Iterator >::__type \fB__get_distance\fP (const \fBstd::move_iterator\fP< _Iterator > &__first, const \fBstd::move_iterator\fP< _Iterator > &__last)" .br .ti -1c .RI "template constexpr _Distance_traits< _Iterator >::__type \fB__get_distance\fP (const \fBstd::reverse_iterator\fP< _Iterator > &__first, const \fBstd::reverse_iterator\fP< _Iterator > &__last)" .br .ti -1c .RI "template constexpr bool \fB__is_irreflexive\fP (_Iterator __it)" .br .ti -1c .RI "template constexpr bool \fB__is_irreflexive_pred\fP (_Iterator __it, _Pred __pred)" .br .ti -1c .RI "template constexpr _Iterator \fB__unsafe\fP (_Iterator __it)" .br .ti -1c .RI "template _Iterator \fB__unsafe\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence > &__it)" .br .ti -1c .RI "template _Iterator \fB__unsafe\fP (const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > &__it)" .br .ti -1c .RI "template constexpr auto \fB__unsafe\fP (const \fBstd::move_iterator\fP< _Iterator > &__it) \-> decltype(std::make_move_iterator(__unsafe(__it\&.base())))" .br .ti -1c .RI "template constexpr auto \fB__unsafe\fP (const \fBstd::reverse_iterator\fP< _Iterator > &__it) \-> decltype(std::__make_reverse_iterator(__unsafe(__it\&.base())))" .br .ti -1c .RI "template constexpr bool \fB__valid_range\fP (_InputIterator __first, _InputIterator __last)" .br .ti -1c .RI "template constexpr bool \fB__valid_range\fP (_InputIterator __first, _InputIterator __last, typename _Distance_traits< _InputIterator >::__type &__dist)" .br .ti -1c .RI "template constexpr bool \fB__valid_range\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &)" .br .ti -1c .RI "template constexpr bool \fB__valid_range\fP (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > &, typename _Distance_traits< _Iterator >::__type &)" .br .ti -1c .RI "template bool \fB__valid_range\fP (const \fB_Safe_local_iterator\fP< _Iterator, _Sequence > &, const \fB_Safe_local_iterator\fP< _Iterator, _Sequence > &)" .br .ti -1c .RI "template bool \fB__valid_range\fP (const \fB_Safe_local_iterator\fP< _Iterator, _Sequence > &, const \fB_Safe_local_iterator\fP< _Iterator, _Sequence > &, typename _Distance_traits< _Iterator >::__type &)" .br .ti -1c .RI "template bool \fB__valid_range\fP (const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > &__first, const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > &__last)" .br .ti -1c .RI "template bool \fB__valid_range\fP (const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > &__first, const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > &__last, typename _Distance_traits< _Iterator >::__type &__dist_info)" .br .ti -1c .RI "template constexpr bool \fB__valid_range\fP (const \fBstd::move_iterator\fP< _Iterator > &__first, const \fBstd::move_iterator\fP< _Iterator > &__last, typename _Distance_traits< _Iterator >::__type &__dist)" .br .ti -1c .RI "template constexpr bool \fB__valid_range\fP (const \fBstd::reverse_iterator\fP< _Iterator > &__first, const \fBstd::reverse_iterator\fP< _Iterator > &__last, typename _Distance_traits< _Iterator >::__type &__dist)" .br .ti -1c .RI "template constexpr bool \fB__valid_range_aux\fP (_InputIterator __first, _InputIterator __last, \fBstd::input_iterator_tag\fP)" .br .ti -1c .RI "template constexpr bool \fB__valid_range_aux\fP (_InputIterator __first, _InputIterator __last, \fBstd::random_access_iterator_tag\fP)" .br .ti -1c .RI "template \fBstd::basic_istream\fP< _CharT, _Traits > & \fBgetline\fP (\fBstd::basic_istream\fP< _CharT, _Traits > &__is, \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__str)" .br .ti -1c .RI "template \fBstd::basic_istream\fP< _CharT, _Traits > & \fBgetline\fP (\fBstd::basic_istream\fP< _CharT, _Traits > &__is, \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__str, _CharT __delim)" .br .ti -1c .RI "template bool \fBoperator!=\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator!=\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template bool \fBoperator!=\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template \fBbasic_string\fP< _CharT, _Traits, _Allocator > \fBoperator+\fP (_CharT __lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template \fBbasic_string\fP< _CharT, _Traits, _Allocator > \fBoperator+\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template \fBbasic_string\fP< _CharT, _Traits, _Allocator > \fBoperator+\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, _CharT __rhs)" .br .ti -1c .RI "template \fBbasic_string\fP< _CharT, _Traits, _Allocator > \fBoperator+\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template \fBbasic_string\fP< _CharT, _Traits, _Allocator > \fBoperator+\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator<\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator<\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template bool \fBoperator<\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template \fBstd::basic_ostream\fP< _CharT, _Traits > & \fBoperator<<\fP (\fBstd::basic_ostream\fP< _CharT, _Traits > &__os, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__str)" .br .ti -1c .RI "template bool \fBoperator<=\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator<=\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template bool \fBoperator<=\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator==\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator==\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template bool \fBoperator==\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator>\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator>\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template bool \fBoperator>\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator>=\fP (const _CharT *__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template bool \fBoperator>=\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const _CharT *__rhs)" .br .ti -1c .RI "template bool \fBoperator>=\fP (const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, const \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .ti -1c .RI "template \fBstd::basic_istream\fP< _CharT, _Traits > & \fBoperator>>\fP (\fBstd::basic_istream\fP< _CharT, _Traits > &__is, \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__str)" .br .ti -1c .RI "template void \fBswap\fP (\fBbasic_string\fP< _CharT, _Traits, _Allocator > &__lhs, \fBbasic_string\fP< _CharT, _Traits, _Allocator > &__rhs)" .br .in -1c .SH "Detailed Description" .PP GNU debug classes for public use\&. .SH "Typedef Documentation" .PP .SS "typedef \fBbasic_string\fP \fB__gnu_debug::u16string\fP" .PP A string of \fRchar16_t\fP\&. .SS "typedef \fBbasic_string\fP \fB__gnu_debug::u32string\fP" .PP A string of \fRchar32_t\fP\&. .SH "Enumeration Type Documentation" .PP .SS "enum \fB__gnu_debug::_Distance_precision\fP" The precision to which we can calculate the distance between two iterators\&. .SH "Function Documentation" .PP .SS "template _Iterator __gnu_debug::__base (_Iterator __it)\fR [inline]\fP, \fR [constexpr]\fP" Helper function to extract base iterator of random access safe iterator in order to reduce performance impact of debug mode\&. Limited to random access iterator because it is the only category for which it is possible to check for correct iterators order in the __valid_range function thanks to the < operator\&. .PP Referenced by \fB__gnu_debug::_Safe_iterator< _Base_iterator, map >::_M_before_dereferenceable()\fP\&. .SS "template bool __gnu_debug::__check_singular (_Tp *const & __ptr)\fR [inline]\fP, \fR [constexpr]\fP" Non-NULL pointers are nonsingular\&. .SS "bool __gnu_debug::__check_singular_aux (const \fB_Safe_iterator_base\fP * __x)\fR [inline]\fP" Iterators that derive from _Safe_iterator_base can be determined singular or non-singular\&. .PP References \fB__gnu_debug::_Safe_iterator_base::_M_singular()\fP\&. .SS "template const _CharT * __gnu_debug::__check_string (const _CharT * __s, _Integer __n, const char * __file, unsigned int __line, const char * __function)\fR [inline]\fP" Checks that __s is non-NULL or __n == 0, and then returns __s\&. .SS "template const _CharT * __gnu_debug::__check_string (const _CharT * __s, const char * __file, unsigned int __line, const char * __function)\fR [inline]\fP" Checks that __s is non-NULL and then returns __s\&. .SS "template bool __gnu_debug::__foreign_iterator_aux2 (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > & , const \fB_Safe_iterator\fP< _OtherIterator, _OtherSequence, _OtherCategory > & , const \fB_Safe_iterator\fP< _OtherIterator, _OtherSequence, _OtherCategory > & )\fR [inline]\fP" Handle debug iterators from different types of container\&. .SS "template bool __gnu_debug::__foreign_iterator_aux2 (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > & __it, const \fB_Safe_iterator\fP< _OtherIterator, _Sequence, _Category > & __other, const \fB_Safe_iterator\fP< _OtherIterator, _Sequence, _Category > & )\fR [inline]\fP" Handle debug iterators from the same type of container\&. .SS "template _Distance_traits< _Iterator >::__type __gnu_debug::__get_distance (_Iterator __lhs, _Iterator __rhs, \fBstd::random_access_iterator_tag\fP )\fR [inline]\fP, \fR [constexpr]\fP" Determine the distance between two iterators with some known precision\&. .PP References \fBstd::make_pair()\fP\&. .SS "template bool __gnu_debug::__valid_range (const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > & __first, const \fB_Safe_iterator\fP< _Iterator, _Sequence, _Category > & __last, typename _Distance_traits< _Iterator >::__type & __dist)\fR [inline]\fP, \fR [constexpr]\fP" Safe iterators know how to check if they form a valid range\&. .SS "template bool __gnu_debug::__valid_range (const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > & __first, const \fB_Safe_local_iterator\fP< _Iterator, _UContainer > & __last, typename _Distance_traits< _Iterator >::__type & __dist_info)\fR [inline]\fP" Safe local iterators know how to check if they form a valid range\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.