.TH "std::__debug::multiset< _Key, _Cmp, _Allocator >" 3 "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::__debug::multiset< _Key, _Cmp, _Allocator > \- Class std::multiset with safety/checking/debug instrumentation\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fB__gnu_debug::_Safe_container< multiset< _Key, _Compare, _Allocator >, _Allocator, __gnu_debug::_Safe_node_sequence >\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "typedef _Allocator \fBallocator_type\fP" .br .ti -1c .RI "typedef \fB__gnu_debug::_Safe_iterator\fP< \fB_Base_const_iterator\fP, \fBmultiset\fP > \fBconst_iterator\fP" .br .ti -1c .RI "typedef _Base::const_pointer \fBconst_pointer\fP" .br .ti -1c .RI "typedef _Base::const_reference \fBconst_reference\fP" .br .ti -1c .RI "typedef \fBstd::reverse_iterator\fP< \fBconst_iterator\fP > \fBconst_reverse_iterator\fP" .br .ti -1c .RI "typedef _Base::difference_type \fBdifference_type\fP" .br .ti -1c .RI "typedef \fB__gnu_debug::_Safe_iterator\fP< \fB_Base_iterator\fP, \fBmultiset\fP > \fBiterator\fP" .br .ti -1c .RI "typedef _Compare \fBkey_compare\fP" .br .ti -1c .RI "typedef _Key \fBkey_type\fP" .br .ti -1c .RI "using \fBnode_type\fP" .br .ti -1c .RI "typedef _Base::pointer \fBpointer\fP" .br .ti -1c .RI "typedef _Base::reference \fBreference\fP" .br .ti -1c .RI "typedef \fBstd::reverse_iterator\fP< \fBiterator\fP > \fBreverse_iterator\fP" .br .ti -1c .RI "typedef _Base::size_type \fBsize_type\fP" .br .ti -1c .RI "typedef _Compare \fBvalue_compare\fP" .br .ti -1c .RI "typedef _Key \fBvalue_type\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBmultiset\fP (_Base_ref __x)" .br .ti -1c .RI "template \fBmultiset\fP (_InputIterator __first, _InputIterator __last, const _Compare &__comp=_Compare(), const _Allocator &__a=_Allocator())" .br .ti -1c .RI "template \fBmultiset\fP (_InputIterator __first, _InputIterator __last, const allocator_type &__a)" .br .ti -1c .RI "\fBmultiset\fP (const _Compare &__comp, const _Allocator &__a=_Allocator())" .br .ti -1c .RI "\fBmultiset\fP (const allocator_type &__a)" .br .ti -1c .RI "\fBmultiset\fP (const \fBmultiset\fP &)=default" .br .ti -1c .RI "\fBmultiset\fP (const \fBmultiset\fP &__m, const __type_identity_t< allocator_type > &__a)" .br .ti -1c .RI "\fBmultiset\fP (\fBinitializer_list\fP< value_type > __l, const _Compare &__comp=_Compare(), const allocator_type &__a=allocator_type())" .br .ti -1c .RI "\fBmultiset\fP (\fBinitializer_list\fP< value_type > __l, const allocator_type &__a)" .br .ti -1c .RI "\fBmultiset\fP (\fBmultiset\fP &&)=default" .br .ti -1c .RI "\fBmultiset\fP (\fBmultiset\fP &&__m, const __type_identity_t< allocator_type > &__a) noexcept(noexcept(\fB_Base\fP(\fBstd::move\fP(__m), __a)))" .br .ti -1c .RI "\fB__attribute\fP ((__abi_tag__('cxx11'))) \fBiterator\fP erase(\fBconst_iterator\fP __first" .br .ti -1c .RI "\fB__attribute\fP ((__abi_tag__('cxx11'))) \fBiterator\fP erase(\fBconst_iterator\fP __position)" .br .ti -1c .RI "const \fB_Base\fP & \fB_M_base\fP () const noexcept" .br .ti -1c .RI "\fB_Base\fP & \fB_M_base\fP () noexcept" .br .ti -1c .RI "void \fB_M_invalidate_if\fP (_Predicate __pred)" .br .ti -1c .RI "void \fB_M_transfer_from_if\fP (_Safe_sequence &__from, _Predicate __pred)" .br .ti -1c .RI "\fBconst_iterator\fP \fBbegin\fP () const noexcept" .br .ti -1c .RI "\fBiterator\fP \fBbegin\fP () noexcept" .br .ti -1c .RI "\fBconst_iterator\fP \fBcbegin\fP () const noexcept" .br .ti -1c .RI "\fBconst_iterator\fP \fBcend\fP () const noexcept" .br .ti -1c .RI "void \fBclear\fP () noexcept" .br .ti -1c .RI "\fBconst_reverse_iterator\fP \fBcrbegin\fP () const noexcept" .br .ti -1c .RI "\fBconst_reverse_iterator\fP \fBcrend\fP () const noexcept" .br .ti -1c .RI "template \fBiterator\fP \fBemplace\fP (_Args &&\&.\&.\&. __args)" .br .ti -1c .RI "template \fBiterator\fP \fBemplace_hint\fP (\fBconst_iterator\fP __pos, _Args &&\&.\&.\&. __args)" .br .ti -1c .RI "\fBconst_iterator\fP \fBend\fP () const noexcept" .br .ti -1c .RI "\fBiterator\fP \fBend\fP () noexcept" .br .ti -1c .RI "template::type> \fBstd::pair\fP< \fBiterator\fP, \fBiterator\fP > \fBequal_range\fP (const _Kt &__x)" .br .ti -1c .RI "template::type> \fBstd::pair\fP< \fBconst_iterator\fP, \fBconst_iterator\fP > \fBequal_range\fP (const _Kt &__x) const" .br .ti -1c .RI "\fBstd::pair\fP< \fBiterator\fP, \fBiterator\fP > \fBequal_range\fP (const key_type &__x)" .br .ti -1c .RI "\fBstd::pair\fP< \fBconst_iterator\fP, \fBconst_iterator\fP > \fBequal_range\fP (const key_type &__x) const" .br .ti -1c .RI "\fB_Base_iterator\fP \fBerase\fP (\fB_Base_const_iterator\fP __position)" .br .ti -1c .RI "size_type \fBerase\fP (const key_type &__x)" .br .ti -1c .RI "node_type \fBextract\fP (const key_type &__key)" .br .ti -1c .RI "node_type \fBextract\fP (\fBconst_iterator\fP __position)" .br .ti -1c .RI "template::type> \fBiterator\fP \fBfind\fP (const _Kt &__x)" .br .ti -1c .RI "template::type> \fBconst_iterator\fP \fBfind\fP (const _Kt &__x) const" .br .ti -1c .RI "\fBiterator\fP \fBfind\fP (const key_type &__x)" .br .ti -1c .RI "\fBconst_iterator\fP \fBfind\fP (const key_type &__x) const" .br .ti -1c .RI "\fBfor\fP (\fB_Base_const_iterator\fP __victim=__first\&.base();__victim !=__last\&.base();++__victim)" .br .ti -1c .RI "template void \fBinsert\fP (_InputIterator __first, _InputIterator __last)" .br .ti -1c .RI "\fBiterator\fP \fBinsert\fP (const value_type &__x)" .br .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP __hint, node_type &&__nh)" .br .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP __position, const value_type &__x)" .br .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP __position, value_type &&__x)" .br .ti -1c .RI "void \fBinsert\fP (\fBinitializer_list\fP< value_type > __l)" .br .ti -1c .RI "\fBiterator\fP \fBinsert\fP (node_type &&__nh)" .br .ti -1c .RI "\fBiterator\fP \fBinsert\fP (value_type &&__x)" .br .ti -1c .RI "template::type> \fBiterator\fP \fBlower_bound\fP (const _Kt &__x)" .br .ti -1c .RI "template::type> \fBconst_iterator\fP \fBlower_bound\fP (const _Kt &__x) const" .br .ti -1c .RI "\fBiterator\fP \fBlower_bound\fP (const key_type &__x)" .br .ti -1c .RI "\fBconst_iterator\fP \fBlower_bound\fP (const key_type &__x) const" .br .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (const \fBmultiset\fP &)=default" .br .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (\fBinitializer_list\fP< value_type > __l)" .br .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (\fBmultiset\fP &&)=default" .br .ti -1c .RI "\fBconst_reverse_iterator\fP \fBrbegin\fP () const noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBrbegin\fP () noexcept" .br .ti -1c .RI "\fBconst_reverse_iterator\fP \fBrend\fP () const noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBrend\fP () noexcept" .br .ti -1c .RI "void \fBswap\fP (\fBmultiset\fP &__x) noexcept(/*\fBconditional\fP */)" .br .ti -1c .RI "template::type> \fBiterator\fP \fBupper_bound\fP (const _Kt &__x)" .br .ti -1c .RI "template::type> \fBconst_iterator\fP \fBupper_bound\fP (const _Kt &__x) const" .br .ti -1c .RI "\fBiterator\fP \fBupper_bound\fP (const key_type &__x)" .br .ti -1c .RI "\fBconst_iterator\fP \fBupper_bound\fP (const key_type &__x) const" .br .ti -1c .RI "\fBwhile\fP (false)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "\fBconst_iterator\fP \fB__last\fP" .br .ti -1c .RI "_Safe_iterator_base * \fB_M_const_iterators\fP" .br .RI "The list of constant iterators that reference this container\&. " .ti -1c .RI "_Safe_iterator_base * \fB_M_iterators\fP" .br .RI "The list of mutable iterators that reference this container\&. " .ti -1c .RI "unsigned int \fB_M_version\fP" .br .RI "The container version number\&. This number may never be 0\&. " .ti -1c .RI "\fBdo\fP" .br .ti -1c .RI "\fBreturn\fP" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "void \fB_M_detach_all\fP ()" .br .ti -1c .RI "void \fB_M_detach_singular\fP ()" .br .ti -1c .RI "__gnu_cxx::__mutex & \fB_M_get_mutex\fP () throw ()" .br .ti -1c .RI "void \fB_M_invalidate_all\fP ()" .br .ti -1c .RI "void \fB_M_invalidate_all\fP () const" .br .ti -1c .RI "void \fB_M_revalidate_singular\fP ()" .br .ti -1c .RI "constexpr void \fB_M_swap\fP (_Safe_container &__x) noexcept" .br .ti -1c .RI "void \fB_M_swap\fP (_Safe_sequence_base &__x) noexcept" .br .in -1c .SS "Friends" .in +1c .ti -1c .RI "template class \fB::__gnu_debug::_Safe_iterator\fP" .br .in -1c .SH "Detailed Description" .PP .SS "template .br class std::__debug::multiset< _Key, _Cmp, _Allocator >"Class std::multiset with safety/checking/debug instrumentation\&. .SH "Member Function Documentation" .PP .SS "void __gnu_debug::_Safe_sequence_base::_M_detach_all ()\fR [protected]\fP, \fR [inherited]\fP" Detach all iterators, leaving them singular\&. .PP Referenced by \fB__gnu_debug::_Safe_sequence_base::~_Safe_sequence_base()\fP\&. .SS "void __gnu_debug::_Safe_sequence_base::_M_detach_singular ()\fR [protected]\fP, \fR [inherited]\fP" Detach all singular iterators\&. .PP \fBPostcondition\fP .RS 4 for all iterators i attached to this sequence, i->_M_version == _M_version\&. .RE .PP .SS "__gnu_cxx::__mutex & __gnu_debug::_Safe_sequence_base::_M_get_mutex ()\fR [protected]\fP, \fR [inherited]\fP" For use in _Safe_sequence\&. .PP Referenced by \fB__gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if()\fP\&. .SS "void __gnu_debug::_Safe_sequence_base::_M_invalidate_all () const\fR [inline]\fP, \fR [protected]\fP, \fR [inherited]\fP" Invalidates all iterators\&. .PP References \fB__gnu_debug::_Safe_sequence_base::_M_version\fP\&. .SS "void \fB__gnu_debug::_Safe_sequence\fP< \fBmultiset\fP< _Key, _Compare, _Allocator > >::_M_invalidate_if (_Predicate __pred)\fR [inherited]\fP" Invalidates all iterators \fRx\fP that reference this sequence, are not singular, and for which \fR__pred(x)\fP returns \fRtrue\fP\&. \fR__pred\fP will be invoked with the normal iterators nested in the safe ones\&. .SS "void __gnu_debug::_Safe_sequence_base::_M_revalidate_singular ()\fR [protected]\fP, \fR [inherited]\fP" Revalidates all attached singular iterators\&. This method may be used to validate iterators that were invalidated before (but for some reason, such as an exception, need to become valid again)\&. .SS "void __gnu_debug::_Safe_sequence_base::_M_swap (\fB_Safe_sequence_base\fP & __x)\fR [protected]\fP, \fR [noexcept]\fP, \fR [inherited]\fP" Swap this sequence with the given sequence\&. This operation also swaps ownership of the iterators, so that when the operation is complete all iterators that originally referenced one container now reference the other container\&. .SS "void \fB__gnu_debug::_Safe_sequence\fP< \fBmultiset\fP< _Key, _Compare, _Allocator > >::_M_transfer_from_if (\fB_Safe_sequence\fP< \fBmultiset\fP< _Key, _Compare, _Allocator > > & __from, _Predicate __pred)\fR [inherited]\fP" Transfers all iterators \fRx\fP that reference \fRfrom\fP sequence, are not singular, and for which \fR__pred(x)\fP returns \fRtrue\fP\&. \fR__pred\fP will be invoked with the normal iterators nested in the safe ones\&. .SH "Member Data Documentation" .PP .SS "_Safe_iterator_base* __gnu_debug::_Safe_sequence_base::_M_const_iterators\fR [inherited]\fP" .PP The list of constant iterators that reference this container\&. .PP Referenced by \fB__gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if()\fP\&. .SS "_Safe_iterator_base* __gnu_debug::_Safe_sequence_base::_M_iterators\fR [inherited]\fP" .PP The list of mutable iterators that reference this container\&. .PP Referenced by \fB__gnu_debug::_Safe_sequence< _Sequence >::_M_transfer_from_if()\fP\&. .SS "unsigned int __gnu_debug::_Safe_sequence_base::_M_version\fR [mutable]\fP, \fR [inherited]\fP" .PP The container version number\&. This number may never be 0\&. .PP Referenced by \fB__gnu_debug::_Safe_sequence_base::_M_invalidate_all()\fP, \fB__gnu_debug::_Safe_iterator< _Iterator, _Sequence, _Category >::operator=()\fP, \fB__gnu_debug::_Safe_iterator< _Iterator, _Sequence, _Category >::operator=()\fP, \fB__gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator=()\fP, and \fB__gnu_debug::_Safe_local_iterator< _Iterator, _Sequence >::operator=()\fP\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.