.TH "std::multiset< _Key, _Compare, _Alloc >" 3cxx "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::multiset< _Key, _Compare, _Alloc > \- A standard container made up of elements, which can be retrieved in logarithmic time\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .SS "Public Types" .in +1c .ti -1c .RI "\fBtypedef\fP _Alloc \fBallocator_type\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Rep_type::const_iterator\fP \fBconst_iterator\fP" .br .ti -1c .RI "\fBtypedef\fP _Alloc_traits::const_pointer \fBconst_pointer\fP" .br .ti -1c .RI "\fBtypedef\fP _Alloc_traits::const_reference \fBconst_reference\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Rep_type::const_reverse_iterator\fP \fBconst_reverse_iterator\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Rep_type::difference_type\fP \fBdifference_type\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Rep_type::const_iterator\fP \fBiterator\fP" .br .ti -1c .RI "\fBtypedef\fP _Compare \fBkey_compare\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Key\fP \fBkey_type\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Alloc_traits::pointer\fP \fBpointer\fP" .br .ti -1c .RI "\fBtypedef\fP _Alloc_traits::reference \fBreference\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Rep_type::const_reverse_iterator\fP \fBreverse_iterator\fP" .br .ti -1c .RI "\fBtypedef\fP _Rep_type::size_type \fBsize_type\fP" .br .ti -1c .RI "\fBtypedef\fP _Compare \fBvalue_compare\fP" .br .ti -1c .RI "\fBtypedef\fP \fB_Key\fP \fBvalue_type\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBmultiset\fP ()=\fBdefault\fP" .br .RI "Default constructor creates no elements\&. " .ti -1c .RI "template<\fBtypename\fP \fB_InputIterator\fP > \fBmultiset\fP (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last)" .br .RI "Builds a multiset from a range\&. " .ti -1c .RI "template<\fBtypename\fP \fB_InputIterator\fP > \fBmultiset\fP (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last, \fBconst\fP _Compare &__comp, \fBconst\fP allocator_type &__a=allocator_type())" .br .RI "Builds a multiset from a range\&. " .ti -1c .RI "template<\fBtypename\fP \fB_InputIterator\fP > \fBmultiset\fP (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last, \fBconst\fP allocator_type &__a)" .br .RI "Allocator-extended range constructor\&. " .ti -1c .RI "\fBmultiset\fP (\fBconst\fP _Compare &__comp, \fBconst\fP allocator_type &__a=allocator_type())" .br .RI "Creates a multiset with no elements\&. " .ti -1c .RI "\fBmultiset\fP (\fBconst\fP allocator_type &__a)" .br .RI "Allocator-extended default constructor\&. " .ti -1c .RI "\fBmultiset\fP (\fBconst\fP \fBmultiset\fP &)=\fBdefault\fP" .br .RI "Multiset copy constructor\&. " .ti -1c .RI "\fBmultiset\fP (\fBconst\fP \fBmultiset\fP &__m, \fBconst\fP allocator_type &__a)" .br .RI "Allocator-extended copy constructor\&. " .ti -1c .RI "\fBmultiset\fP (\fBinitializer_list\fP< \fBvalue_type\fP > \fB__l\fP, \fBconst\fP _Compare &__comp=_Compare(), \fBconst\fP allocator_type &__a=allocator_type())" .br .RI "Builds a multiset from an initializer_list\&. " .ti -1c .RI "\fBmultiset\fP (\fBinitializer_list\fP< \fBvalue_type\fP > \fB__l\fP, \fBconst\fP allocator_type &__a)" .br .RI "Allocator-extended initialier-list constructor\&. " .ti -1c .RI "\fBmultiset\fP (\fBmultiset\fP &&)=\fBdefault\fP" .br .RI "Multiset move constructor\&. " .ti -1c .RI "\fBmultiset\fP (\fBmultiset\fP &&__m, \fBconst\fP allocator_type &__a) \fBnoexcept\fP(\fBis_nothrow_copy_constructible\fP< _Compare >::value &&_Alloc_traits::_S_always_equal())" .br .RI "Allocator-extended move constructor\&. " .ti -1c .RI "\fB~multiset\fP ()=\fBdefault\fP" .br .ti -1c .RI "\fBiterator\fP \fBbegin\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBiterator\fP \fBcbegin\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBiterator\fP \fBcend\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBvoid\fP \fBclear\fP () \fBnoexcept\fP" .br .ti -1c .RI "\fBreverse_iterator\fP \fBcrbegin\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBreverse_iterator\fP \fBcrend\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "template \fBiterator\fP \fBemplace\fP (\fB_Args\fP &&\&.\&.\&. \fB__args\fP)" .br .RI "Builds and inserts an element into the multiset\&. " .ti -1c .RI "template \fBiterator\fP \fBemplace_hint\fP (\fBconst_iterator\fP \fB__pos\fP, \fB_Args\fP &&\&.\&.\&. \fB__args\fP)" .br .RI "Builds and inserts an element into the multiset\&. " .ti -1c .RI "_GLIBCXX_NODISCARD bool \fBempty\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Returns true if the set is empty\&. " .ti -1c .RI "\fBiterator\fP \fBend\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "size_type \fBerase\fP (\fBconst\fP \fBkey_type\fP &__x)" .br .RI "Erases elements according to the provided key\&. " .ti -1c .RI "_GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBerase\fP (\fBconst_iterator\fP __first, \fBconst_iterator\fP __last)" .br .RI "Erases a [first,last) range of elements from a multiset\&. " .ti -1c .RI "_GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBerase\fP (\fBconst_iterator\fP \fB__position\fP)" .br .RI "Erases an element from a multiset\&. " .ti -1c .RI "allocator_type \fBget_allocator\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Returns the memory allocation object\&. " .ti -1c .RI "template<\fBtypename\fP \fB_InputIterator\fP > \fBvoid\fP \fBinsert\fP (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last)" .br .RI "A template function that tries to insert a range of elements\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst\fP \fBvalue_type\fP &__x)" .br .RI "Inserts an element into the multiset\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP \fB__position\fP, \fBconst\fP \fBvalue_type\fP &__x)" .br .RI "Inserts an element into the multiset\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBconst_iterator\fP \fB__position\fP, \fBvalue_type\fP &&__x)" .br .ti -1c .RI "\fBvoid\fP \fBinsert\fP (\fBinitializer_list\fP< \fBvalue_type\fP > \fB__l\fP)" .br .RI "Attempts to insert a list of elements into the multiset\&. " .ti -1c .RI "\fBiterator\fP \fBinsert\fP (\fBvalue_type\fP &&__x)" .br .ti -1c .RI "key_compare \fBkey_comp\fP () \fBconst\fP" .br .RI "Returns the comparison object\&. " .ti -1c .RI "size_type \fBmax_size\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Returns the maximum size of the set\&. " .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (\fBconst\fP \fBmultiset\fP &)=\fBdefault\fP" .br .RI "Multiset assignment operator\&. " .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (\fBinitializer_list\fP< \fBvalue_type\fP > \fB__l\fP)" .br .RI "Multiset list assignment operator\&. " .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (\fBmultiset\fP &&)=\fBdefault\fP" .br .RI "Move assignment operator\&. " .ti -1c .RI "\fBreverse_iterator\fP \fBrbegin\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBreverse_iterator\fP \fBrend\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "size_type \fBsize\fP () \fBconst\fP \fBnoexcept\fP" .br .RI "Returns the size of the set\&. " .ti -1c .RI "\fBvoid\fP \fBswap\fP (\fBmultiset\fP &__x) \fBnoexcept\fP(/*\fBconditional\fP */)" .br .RI "Swaps data with another multiset\&. " .ti -1c .RI "value_compare \fBvalue_comp\fP () \fBconst\fP" .br .RI "Returns the comparison object\&. " .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "size_type \fBcount\fP (\fBconst\fP \fBkey_type\fP &__x) \fBconst\fP" .br .RI "Finds the number of elements with given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBcount\fP (\fBconst\fP \fB_Kt\fP &__x) \fBconst\fP \-> \fBdecltype\fP(_M_t\&._M_count_tr(__x))" .br .RI "Finds the number of elements with given key\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBiterator\fP \fBfind\fP (\fBconst\fP \fBkey_type\fP &__x)" .br .RI "Tries to locate an element in a set\&. " .ti -1c .RI "\fBconst_iterator\fP \fBfind\fP (\fBconst\fP \fBkey_type\fP &__x) \fBconst\fP" .br .RI "Tries to locate an element in a set\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBfind\fP (\fBconst\fP \fB_Kt\fP &__x) \-> \fBdecltype\fP(\fBiterator\fP{_M_t\&._M_find_tr(__x)})" .br .RI "Tries to locate an element in a set\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBfind\fP (\fBconst\fP \fB_Kt\fP &__x) \fBconst\fP \-> \fBdecltype\fP(\fBconst_iterator\fP{_M_t\&._M_find_tr(__x)})" .br .RI "Tries to locate an element in a set\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBiterator\fP \fBlower_bound\fP (\fBconst\fP \fBkey_type\fP &__x)" .br .RI "Finds the beginning of a subsequence matching given key\&. " .ti -1c .RI "\fBconst_iterator\fP \fBlower_bound\fP (\fBconst\fP \fBkey_type\fP &__x) \fBconst\fP" .br .RI "Finds the beginning of a subsequence matching given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBlower_bound\fP (\fBconst\fP \fB_Kt\fP &__x) \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_lower_bound_tr(__x)))" .br .RI "Finds the beginning of a subsequence matching given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBlower_bound\fP (\fBconst\fP \fB_Kt\fP &__x) \fBconst\fP \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_lower_bound_tr(__x)))" .br .RI "Finds the beginning of a subsequence matching given key\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBiterator\fP \fBupper_bound\fP (\fBconst\fP \fBkey_type\fP &__x)" .br .RI "Finds the end of a subsequence matching given key\&. " .ti -1c .RI "\fBconst_iterator\fP \fBupper_bound\fP (\fBconst\fP \fBkey_type\fP &__x) \fBconst\fP" .br .RI "Finds the end of a subsequence matching given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBupper_bound\fP (\fBconst\fP \fB_Kt\fP &__x) \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x)))" .br .RI "Finds the end of a subsequence matching given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBupper_bound\fP (\fBconst\fP \fB_Kt\fP &__x) \fBconst\fP \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x)))" .br .RI "Finds the end of a subsequence matching given key\&. " .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBstd::pair\fP< \fBiterator\fP, \fBiterator\fP > \fBequal_range\fP (\fBconst\fP \fBkey_type\fP &__x)" .br .RI "Finds a subsequence matching given key\&. " .ti -1c .RI "\fBstd::pair\fP< \fBconst_iterator\fP, \fBconst_iterator\fP > \fBequal_range\fP (\fBconst\fP \fBkey_type\fP &__x) \fBconst\fP" .br .RI "Finds a subsequence matching given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBequal_range\fP (\fBconst\fP \fB_Kt\fP &__x) \-> \fBdecltype\fP(\fBpair\fP< \fBiterator\fP, \fBiterator\fP >(_M_t\&._M_equal_range_tr(__x)))" .br .RI "Finds a subsequence matching given key\&. " .ti -1c .RI "template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBequal_range\fP (\fBconst\fP \fB_Kt\fP &__x) \fBconst\fP \-> \fBdecltype\fP(\fBpair\fP< \fBiterator\fP, \fBiterator\fP >(_M_t\&._M_equal_range_tr(__x)))" .br .RI "Finds a subsequence matching given key\&. " .in -1c .in -1c .SS "Friends" .in +1c .ti -1c .RI "template<\fBtypename\fP \fB_K1\fP , \fBtypename\fP \fB_C1\fP , \fBtypename\fP \fB_A1\fP > bool \fBoperator<\fP (\fBconst\fP \fBmultiset\fP< \fB_K1\fP, \fB_C1\fP, \fB_A1\fP > &, \fBconst\fP \fBmultiset\fP< \fB_K1\fP, \fB_C1\fP, \fB_A1\fP > &)" .br .ti -1c .RI "template<\fBtypename\fP \fB_K1\fP , \fBtypename\fP \fB_C1\fP , \fBtypename\fP \fB_A1\fP > bool \fBoperator==\fP (\fBconst\fP \fBmultiset\fP< \fB_K1\fP, \fB_C1\fP, \fB_A1\fP > &, \fBconst\fP \fBmultiset\fP< \fB_K1\fP, \fB_C1\fP, \fB_A1\fP > &)" .br .in -1c .SH "Detailed Description" .PP .SS "template<\fBtypename\fP \fB_Key\fP, \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> .br class std::multiset< _Key, _Compare, _Alloc >"A standard container made up of elements, which can be retrieved in logarithmic time\&. .PP \fBTemplate Parameters\fP .RS 4 \fI_Key\fP Type of key objects\&. .br \fI_Compare\fP Comparison function object type, defaults to less<_Key>\&. .br \fI_Alloc\fP Allocator type, defaults to allocator<_Key>\&. .RE .PP Meets the requirements of a \fCcontainer\fP, a \fCreversible container\fP, and an \fCassociative container\fP (using equivalent keys)\&. For a \fCmultiset\fP the key_type and value_type are Key\&. .PP Multisets support bidirectional iterators\&. .PP The private tree data is declared exactly the same way for set and multiset; the distinction is made entirely in how the tree functions are called (*_unique versus *_equal, same as the standard)\&. .PP Definition at line \fB96\fP of file \fBstl_multiset\&.h\fP\&. .SH "Member Typedef Documentation" .PP .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Alloc \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::allocator_type" .PP Definition at line \fB124\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Rep_type::const_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::const_iterator" .PP Definition at line \fB147\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Alloc_traits::const_pointer \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::const_pointer" .PP Definition at line \fB140\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Alloc_traits::const_reference \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::const_reference" .PP Definition at line \fB142\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Rep_type::const_reverse_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::const_reverse_iterator" .PP Definition at line \fB149\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Rep_type::difference_type\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::difference_type" .PP Definition at line \fB151\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Rep_type::const_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::iterator" .PP Definition at line \fB146\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Compare \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::key_compare" .PP Definition at line \fB122\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Key\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::key_type" .PP Definition at line \fB120\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Alloc_traits::pointer\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::pointer" .PP Definition at line \fB139\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Alloc_traits::reference \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::reference" .PP Definition at line \fB141\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Rep_type::const_reverse_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::reverse_iterator" .PP Definition at line \fB148\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Rep_type::size_type \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::size_type" .PP Definition at line \fB150\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP _Compare \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::value_compare" .PP Definition at line \fB123\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBtypedef\fP \fB_Key\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::value_type" .PP Definition at line \fB121\fP of file \fBstl_multiset\&.h\fP\&. .SH "Constructor & Destructor Documentation" .PP .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset ()\fC [default]\fP" .PP Default constructor creates no elements\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBconst\fP _Compare & __comp, \fBconst\fP allocator_type & __a = \fCallocator_type()\fP)\fC [inline]\fP, \fC [explicit]\fP" .PP Creates a multiset with no elements\&. .PP \fBParameters\fP .RS 4 \fI__comp\fP Comparator to use\&. .br \fI__a\fP An allocator object\&. .RE .PP .PP Definition at line \fB173\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_InputIterator\fP > \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last)\fC [inline]\fP" .PP Builds a multiset from a range\&. .PP \fBParameters\fP .RS 4 \fI__first\fP An input iterator\&. .br \fI__last\fP An input iterator\&. .RE .PP Create a multiset consisting of copies of the elements from [first,last)\&. This is linear in N if the range is already sorted, and NlogN otherwise (where N is distance(__first,__last))\&. .PP Definition at line \fB187\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_InputIterator\fP > \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last, \fBconst\fP _Compare & __comp, \fBconst\fP allocator_type & __a = \fCallocator_type()\fP)\fC [inline]\fP" .PP Builds a multiset from a range\&. .PP \fBParameters\fP .RS 4 \fI__first\fP An input iterator\&. .br \fI__last\fP An input iterator\&. .br \fI__comp\fP A comparison functor\&. .br \fI__a\fP An allocator object\&. .RE .PP Create a multiset consisting of copies of the elements from [__first,__last)\&. This is linear in N if the range is already sorted, and NlogN otherwise (where N is distance(__first,__last))\&. .PP Definition at line \fB203\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBconst\fP \fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > &)\fC [default]\fP" .PP Multiset copy constructor\&. Whether the allocator is copied depends on the allocator traits\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > &&)\fC [default]\fP" .PP Multiset move constructor\&. The newly-created multiset contains the exact contents of the moved instance\&. The moved instance is a valid, but unspecified multiset\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBinitializer_list\fP< \fBvalue_type\fP > __l, \fBconst\fP _Compare & __comp = \fC_Compare()\fP, \fBconst\fP allocator_type & __a = \fCallocator_type()\fP)\fC [inline]\fP" .PP Builds a multiset from an initializer_list\&. .PP \fBParameters\fP .RS 4 \fI__l\fP An initializer_list\&. .br \fI__comp\fP A comparison functor\&. .br \fI__a\fP An allocator object\&. .RE .PP Create a multiset consisting of copies of the elements from the list\&. This is linear in N if the list is already sorted, and NlogN otherwise (where N is \fI__l\&.size()\fP)\&. .PP Definition at line \fB239\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBconst\fP allocator_type & __a)\fC [inline]\fP, \fC [explicit]\fP" .PP Allocator-extended default constructor\&. .PP Definition at line \fB247\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBconst\fP \fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > & __m, \fBconst\fP allocator_type & __a)\fC [inline]\fP" .PP Allocator-extended copy constructor\&. .PP Definition at line \fB251\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > && __m, \fBconst\fP allocator_type & __a)\fC [inline]\fP, \fC [noexcept]\fP" .PP Allocator-extended move constructor\&. .PP Definition at line \fB255\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fBinitializer_list\fP< \fBvalue_type\fP > __l, \fBconst\fP allocator_type & __a)\fC [inline]\fP" .PP Allocator-extended initialier-list constructor\&. .PP Definition at line \fB261\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_InputIterator\fP > \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::multiset (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last, \fBconst\fP allocator_type & __a)\fC [inline]\fP" .PP Allocator-extended range constructor\&. .PP Definition at line \fB267\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::~\fBmultiset\fP ()\fC [default]\fP" The dtor only erases the elements, and note that if the elements themselves are pointers, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .SH "Member Function Documentation" .PP .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::begin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points to the first element in the multiset\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line \fB340\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::cbegin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points to the first element in the multiset\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line \fB377\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::cend () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points one past the last element in the multiset\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line \fB386\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBvoid\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::clear ()\fC [inline]\fP, \fC [noexcept]\fP" Erases all elements in a multiset\&. Note that this function only erases the elements, and that if the elements themselves are pointers, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line \fB718\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::count (\fBconst\fP \fB_Kt\fP & __x) const \-> \fBdecltype\fP(_M_t\&._M_count_tr(__x)) \fC [inline]\fP" .PP Finds the number of elements with given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key of elements to be located\&. .RE .PP \fBReturns\fP .RS 4 Number of elements with specified key\&. .RE .PP .PP Definition at line \fB736\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::count (\fBconst\fP \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds the number of elements with given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key of elements to be located\&. .RE .PP \fBReturns\fP .RS 4 Number of elements with specified key\&. .RE .PP .PP Definition at line \fB730\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::crbegin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) reverse iterator that points to the last element in the multiset\&. Iteration is done in descending order according to the keys\&. .PP Definition at line \fB395\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::crend () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) reverse iterator that points to the last element in the multiset\&. Iteration is done in descending order according to the keys\&. .PP Definition at line \fB404\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::emplace (\fB_Args\fP &&\&.\&.\&. __args)\fC [inline]\fP" .PP Builds and inserts an element into the multiset\&. .PP \fBParameters\fP .RS 4 \fI__args\fP Arguments used to generate the element instance to be inserted\&. .RE .PP \fBReturns\fP .RS 4 An iterator that points to the inserted element\&. .RE .PP This function inserts an element into the multiset\&. Contrary to a std::set the multiset does not rely on unique keys and thus multiple copies of the same element can be inserted\&. .PP Insertion requires logarithmic time\&. .PP Definition at line \fB457\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::emplace_hint (\fBconst_iterator\fP __pos, \fB_Args\fP &&\&.\&.\&. __args)\fC [inline]\fP" .PP Builds and inserts an element into the multiset\&. .PP \fBParameters\fP .RS 4 \fI__pos\fP An iterator that serves as a hint as to where the element should be inserted\&. .br \fI__args\fP Arguments used to generate the element instance to be inserted\&. .RE .PP \fBReturns\fP .RS 4 An iterator that points to the inserted element\&. .RE .PP This function inserts an element into the multiset\&. Contrary to a std::set the multiset does not rely on unique keys and thus multiple copies of the same element can be inserted\&. .PP Note that the first parameter is only a hint and can potentially improve the performance of the insertion process\&. A bad hint would cause no gains in efficiency\&. .PP See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints for more on \fIhinting\fP\&. .PP Insertion requires logarithmic time (if the hint is not taken)\&. .PP Definition at line \fB483\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> _GLIBCXX_NODISCARD bool \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::empty () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns true if the set is empty\&. .PP Definition at line \fB410\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::end () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) iterator that points one past the last element in the multiset\&. Iteration is done in ascending order according to the keys\&. .PP Definition at line \fB349\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::equal_range (\fBconst\fP \fB_Kt\fP & __x) \-> \fBdecltype\fP(\fBpair\fP<\fBiterator\fP, \fBiterator\fP>(_M_t\&._M_equal_range_tr(__x))) \fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line \fB889\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::equal_range (\fBconst\fP \fB_Kt\fP & __x) const \-> \fBdecltype\fP(\fBpair\fP<\fBiterator\fP, \fBiterator\fP>(_M_t\&._M_equal_range_tr(__x))) \fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line \fB895\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::pair\fP< \fBiterator\fP, \fBiterator\fP > \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::equal_range (\fBconst\fP \fBkey_type\fP & __x)\fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line \fB879\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBstd::pair\fP< \fBconst_iterator\fP, \fBconst_iterator\fP > \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::equal_range (\fBconst\fP \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Pair of iterators that possibly points to the subsequence matching given key\&. .RE .PP This function is equivalent to .PP .nf std::make_pair(c\&.lower_bound(val), c\&.upper_bound(val)) .fi .PP (but is faster than making the calls separately)\&. .PP This function probably only makes sense for multisets\&. .PP Definition at line \fB883\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::erase (\fBconst\fP \fBkey_type\fP & __x)\fC [inline]\fP" .PP Erases elements according to the provided key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key of element to be erased\&. .RE .PP \fBReturns\fP .RS 4 The number of elements erased\&. .RE .PP This function erases all elements located by the given key from a multiset\&. Note that this function only erases the element, and that if the element is itself a pointer, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line \fB669\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> _GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::erase (\fBconst_iterator\fP __first, \fBconst_iterator\fP __last)\fC [inline]\fP" .PP Erases a [first,last) range of elements from a multiset\&. .PP \fBParameters\fP .RS 4 \fI__first\fP Iterator pointing to the start of the range to be erased\&. .br \fI__last\fP Iterator pointing to the end of the range to be erased\&. .RE .PP \fBReturns\fP .RS 4 The iterator \fIlast\fP\&. .RE .PP This function erases a sequence of elements from a multiset\&. Note that this function only erases the elements, and that if the elements themselves are pointers, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line \fB691\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> _GLIBCXX_ABI_TAG_CXX11 \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::erase (\fBconst_iterator\fP __position)\fC [inline]\fP" .PP Erases an element from a multiset\&. .PP \fBParameters\fP .RS 4 \fI__position\fP An iterator pointing to the element to be erased\&. .RE .PP \fBReturns\fP .RS 4 An iterator pointing to the element immediately following \fIposition\fP prior to the element being erased\&. If no such element exists, end() is returned\&. .RE .PP This function erases an element, pointed to by the given iterator, from a multiset\&. Note that this function only erases the element, and that if the element is itself a pointer, the pointed-to memory is not touched in any way\&. Managing the pointer is the user's responsibility\&. .PP Definition at line \fB639\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::find (\fBconst\fP \fB_Kt\fP & __x) \-> \fBdecltype\fP(\fBiterator\fP{_M_t\&._M_find_tr(__x)}) \fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line \fB785\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::find (\fBconst\fP \fB_Kt\fP & __x) const \-> \fBdecltype\fP(\fBconst_iterator\fP{_M_t\&._M_find_tr(__x)}) \fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line \fB791\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::find (\fBconst\fP \fBkey_type\fP & __x)\fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line \fB775\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBconst_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::find (\fBconst\fP \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Tries to locate an element in a set\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to sought-after element, or end() if not found\&. .RE .PP This function takes a key and tries to locate the element with which the key matches\&. If successful the function returns an iterator pointing to the sought after element\&. If unsuccessful it returns the past-the-end ( \fCend()\fP ) iterator\&. .PP Definition at line \fB779\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> allocator_type \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::get_allocator () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the memory allocation object\&. .PP Definition at line \fB331\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_InputIterator\fP > \fBvoid\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::insert (\fB_InputIterator\fP __first, \fB_InputIterator\fP __last)\fC [inline]\fP" .PP A template function that tries to insert a range of elements\&. .PP \fBParameters\fP .RS 4 \fI__first\fP Iterator pointing to the start of the range to be inserted\&. .br \fI__last\fP Iterator pointing to the end of the range\&. .RE .PP Complexity similar to that of the range constructor\&. .PP Definition at line \fB551\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::insert (\fBconst\fP \fBvalue_type\fP & __x)\fC [inline]\fP" .PP Inserts an element into the multiset\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Element to be inserted\&. .RE .PP \fBReturns\fP .RS 4 An iterator that points to the inserted element\&. .RE .PP This function inserts an element into the multiset\&. Contrary to a std::set the multiset does not rely on unique keys and thus multiple copies of the same element can be inserted\&. .PP Insertion requires logarithmic time\&. .PP Definition at line \fB502\fP of file \fBstl_multiset\&.h\fP\&. .PP Referenced by \fBstd::multiset< _Key, _Compare, _Alloc >::insert()\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::insert (\fBconst_iterator\fP __position, \fBconst\fP \fBvalue_type\fP & __x)\fC [inline]\fP" .PP Inserts an element into the multiset\&. .PP \fBParameters\fP .RS 4 \fI__position\fP An iterator that serves as a hint as to where the element should be inserted\&. .br \fI__x\fP Element to be inserted\&. .RE .PP \fBReturns\fP .RS 4 An iterator that points to the inserted element\&. .RE .PP This function inserts an element into the multiset\&. Contrary to a std::set the multiset does not rely on unique keys and thus multiple copies of the same element can be inserted\&. .PP Note that the first parameter is only a hint and can potentially improve the performance of the insertion process\&. A bad hint would cause no gains in efficiency\&. .PP See https://gcc.gnu.org/onlinedocs/libstdc++/manual/associative.html#containers.associative.insert_hints for more on \fIhinting\fP\&. .PP Insertion requires logarithmic time (if the hint is not taken)\&. .PP Definition at line \fB532\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::insert (\fBconst_iterator\fP __position, \fBvalue_type\fP && __x)\fC [inline]\fP" .PP Definition at line \fB537\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBvoid\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::insert (\fBinitializer_list\fP< \fBvalue_type\fP > __l)\fC [inline]\fP" .PP Attempts to insert a list of elements into the multiset\&. .PP \fBParameters\fP .RS 4 \fI__l\fP A std::initializer_list of elements to be inserted\&. .RE .PP Complexity similar to that of the range constructor\&. .PP Definition at line \fB563\fP of file \fBstl_multiset\&.h\fP\&. .PP References \fBstd::multiset< _Key, _Compare, _Alloc >::insert()\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::insert (\fBvalue_type\fP && __x)\fC [inline]\fP" .PP Definition at line \fB507\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> key_compare \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::key_comp () const\fC [inline]\fP" .PP Returns the comparison object\&. .PP Definition at line \fB323\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::lower_bound (\fBconst\fP \fB_Kt\fP & __x) \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_lower_bound_tr(__x))) \fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line \fB820\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::lower_bound (\fBconst\fP \fB_Kt\fP & __x) const \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_lower_bound_tr(__x))) \fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line \fB826\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::lower_bound (\fBconst\fP \fBkey_type\fP & __x)\fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line \fB810\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBconst_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::lower_bound (\fBconst\fP \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds the beginning of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to first element equal to or greater than key, or end()\&. .RE .PP This function returns the first element of a subsequence of elements that matches the given key\&. If unsuccessful it returns an iterator pointing to the first element that has a greater value than given key or end() if no such element exists\&. .PP Definition at line \fB814\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::max_size () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the maximum size of the set\&. .PP Definition at line \fB420\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBmultiset\fP & \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::operator= (\fBconst\fP \fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > &)\fC [default]\fP" .PP Multiset assignment operator\&. Whether the allocator is copied depends on the allocator traits\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBmultiset\fP & \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::operator= (\fBinitializer_list\fP< \fBvalue_type\fP > __l)\fC [inline]\fP" .PP Multiset list assignment operator\&. .PP \fBParameters\fP .RS 4 \fI__l\fP An initializer_list\&. .RE .PP This function fills a multiset with copies of the elements in the initializer list \fI__l\fP\&. .PP Note that the assignment completely changes the multiset and that the resulting multiset's size is the same as the number of elements assigned\&. .PP Definition at line \fB312\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBmultiset\fP & \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::operator= (\fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > &&)\fC [default]\fP" .PP Move assignment operator\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::rbegin () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) reverse iterator that points to the last element in the multiset\&. Iteration is done in descending order according to the keys\&. .PP Definition at line \fB358\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::rend () const\fC [inline]\fP, \fC [noexcept]\fP" Returns a read-only (constant) reverse iterator that points to the last element in the multiset\&. Iteration is done in descending order according to the keys\&. .PP Definition at line \fB367\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::size () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the size of the set\&. .PP Definition at line \fB415\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBvoid\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::swap (\fBmultiset\fP< \fB_Key\fP, _Compare, _Alloc > & __x)\fC [inline]\fP, \fC [noexcept]\fP" .PP Swaps data with another multiset\&. .PP \fBParameters\fP .RS 4 \fI__x\fP A multiset of the same element and allocator types\&. .RE .PP This exchanges the elements between two multisets in constant time\&. (It is only swapping a pointer, an integer, and an instance of the \fCCompare\fP type (which itself is often stateless and empty), so it should be quite fast\&.) Note that the global std::swap() function is specialized such that std::swap(s1,s2) will feed to this function\&. .PP Whether the allocators are swapped depends on the allocator traits\&. .PP Definition at line \fB437\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::upper_bound (\fBconst\fP \fB_Kt\fP & __x) \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x))) \fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line \fB850\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> template<\fBtypename\fP \fB_Kt\fP > \fBauto\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::upper_bound (\fBconst\fP \fB_Kt\fP & __x) const \-> \fBdecltype\fP(\fBiterator\fP(_M_t\&._M_upper_bound_tr(__x))) \fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line \fB856\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBiterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::upper_bound (\fBconst\fP \fBkey_type\fP & __x)\fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line \fB840\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> \fBconst_iterator\fP \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::upper_bound (\fBconst\fP \fBkey_type\fP & __x) const\fC [inline]\fP" .PP Finds the end of a subsequence matching given key\&. .PP \fBParameters\fP .RS 4 \fI__x\fP Key to be located\&. .RE .PP \fBReturns\fP .RS 4 Iterator pointing to the first element greater than key, or end()\&. .RE .PP .PP Definition at line \fB844\fP of file \fBstl_multiset\&.h\fP\&. .SS "template<\fBtypename\fP \fB_Key\fP , \fBtypename\fP _Compare = std::less<_Key>, \fBtypename\fP _Alloc = std::allocator<_Key>> value_compare \fBstd::multiset\fP< \fB_Key\fP, _Compare, _Alloc >::value_comp () const\fC [inline]\fP" .PP Returns the comparison object\&. .PP Definition at line \fB327\fP of file \fBstl_multiset\&.h\fP\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.