.TH "std::multiset< _Key, _Compare, _Alloc >" 3cxx "Fri Dec 19 2014" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::multiset< _Key, _Compare, _Alloc > \- .SH SYNOPSIS .br .PP .SS "Public Types" .in +1c .ti -1c .RI "typedef _Alloc \fBallocator_type\fP" .br .ti -1c .RI "typedef _Rep_type::const_iterator \fBconst_iterator\fP" .br .ti -1c .RI "typedef .br _Key_alloc_type::const_pointer \fBconst_pointer\fP" .br .ti -1c .RI "typedef .br _Key_alloc_type::const_reference \fBconst_reference\fP" .br .ti -1c .RI "typedef .br \fB_Rep_type::const_reverse_iterator\fP \fBconst_reverse_iterator\fP" .br .ti -1c .RI "typedef _Rep_type::difference_type \fBdifference_type\fP" .br .ti -1c .RI "typedef _Rep_type::const_iterator \fBiterator\fP" .br .ti -1c .RI "typedef _Compare \fBkey_compare\fP" .br .ti -1c .RI "typedef _Key \fBkey_type\fP" .br .ti -1c .RI "typedef _Key_alloc_type::pointer \fBpointer\fP" .br .ti -1c .RI "typedef _Key_alloc_type::reference \fBreference\fP" .br .ti -1c .RI "typedef .br \fB_Rep_type::const_reverse_iterator\fP \fBreverse_iterator\fP" .br .ti -1c .RI "typedef _Rep_type::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 ()" .br .ti -1c .RI "\fBmultiset\fP (const _Compare &__comp, const allocator_type &__a=allocator_type())" .br .ti -1c .RI "template \fBmultiset\fP (_InputIterator __first, _InputIterator __last)" .br .ti -1c .RI "template \fBmultiset\fP (_InputIterator __first, _InputIterator __last, const _Compare &__comp, const allocator_type &__a=allocator_type())" .br .ti -1c .RI "\fBmultiset\fP (const \fBmultiset\fP &__x)" .br .ti -1c .RI "\fBmultiset\fP (\fBmultiset\fP &&__x) noexcept(is_nothrow_copy_constructible< _Compare >::value)" .br .ti -1c .RI "\fBmultiset\fP (initializer_list< value_type > __l, const _Compare &__comp=_Compare(), const allocator_type &__a=allocator_type())" .br .ti -1c .RI "iterator \fBbegin\fP () const noexcept" .br .ti -1c .RI "iterator \fBcbegin\fP () const noexcept" .br .ti -1c .RI "iterator \fBcend\fP () const noexcept" .br .ti -1c .RI "void \fBclear\fP () noexcept" .br .ti -1c .RI "size_type \fBcount\fP (const key_type &__x) const " .br .ti -1c .RI "\fBreverse_iterator\fP \fBcrbegin\fP () const noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBcrend\fP () const noexcept" .br .ti -1c .RI "template iterator \fBemplace\fP (_Args &&\&.\&.\&.__args)" .br .ti -1c .RI "template iterator \fBemplace_hint\fP (const_iterator __pos, _Args &&\&.\&.\&.__args)" .br .ti -1c .RI "bool \fBempty\fP () const noexcept" .br .ti -1c .RI "iterator \fBend\fP () const noexcept" .br .ti -1c .RI "_GLIBCXX_ABI_TAG_CXX11 iterator \fBerase\fP (const_iterator __position)" .br .ti -1c .RI "size_type \fBerase\fP (const key_type &__x)" .br .ti -1c .RI "_GLIBCXX_ABI_TAG_CXX11 iterator \fBerase\fP (const_iterator __first, const_iterator __last)" .br .ti -1c .RI "allocator_type \fBget_allocator\fP () const noexcept" .br .ti -1c .RI "iterator \fBinsert\fP (const value_type &__x)" .br .ti -1c .RI "iterator \fBinsert\fP (value_type &&__x)" .br .ti -1c .RI "iterator \fBinsert\fP (const_iterator __position, const value_type &__x)" .br .ti -1c .RI "iterator \fBinsert\fP (const_iterator __position, value_type &&__x)" .br .ti -1c .RI "template void \fBinsert\fP (_InputIterator __first, _InputIterator __last)" .br .ti -1c .RI "void \fBinsert\fP (initializer_list< value_type > __l)" .br .ti -1c .RI "key_compare \fBkey_comp\fP () const " .br .ti -1c .RI "size_type \fBmax_size\fP () const noexcept" .br .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (const \fBmultiset\fP &__x)" .br .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (\fBmultiset\fP &&__x)" .br .ti -1c .RI "\fBmultiset\fP & \fBoperator=\fP (initializer_list< value_type > __l)" .br .ti -1c .RI "\fBreverse_iterator\fP \fBrbegin\fP () const noexcept" .br .ti -1c .RI "\fBreverse_iterator\fP \fBrend\fP () const noexcept" .br .ti -1c .RI "size_type \fBsize\fP () const noexcept" .br .ti -1c .RI "void \fBswap\fP (\fBmultiset\fP &__x)" .br .ti -1c .RI "value_compare \fBvalue_comp\fP () const " .br .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "iterator \fBfind\fP (const key_type &__x)" .br .ti -1c .RI "const_iterator \fBfind\fP (const key_type &__x) const " .br .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "iterator \fBlower_bound\fP (const key_type &__x)" .br .ti -1c .RI "const_iterator \fBlower_bound\fP (const key_type &__x) const " .br .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "iterator \fBupper_bound\fP (const key_type &__x)" .br .ti -1c .RI "const_iterator \fBupper_bound\fP (const key_type &__x) const " .br .in -1c .in -1c .PP .RI "\fB\fP" .br .in +1c .in +1c .ti -1c .RI "\fBstd::pair\fP< iterator, iterator > \fBequal_range\fP (const key_type &__x)" .br .ti -1c .RI "\fBstd::pair\fP< const_iterator, .br const_iterator > \fBequal_range\fP (const key_type &__x) const " .br .in -1c .in -1c .SS "Friends" .in +1c .ti -1c .RI "template bool \fBoperator<\fP (const \fBmultiset\fP< _K1, _C1, _A1 > &, const \fBmultiset\fP< _K1, _C1, _A1 > &)" .br .ti -1c .RI "template bool \fBoperator==\fP (const \fBmultiset\fP< _K1, _C1, _A1 > &, const \fBmultiset\fP< _K1, _C1, _A1 > &)" .br .in -1c .SH "Detailed Description" .PP .SS "template, typename _Alloc = std::allocator<_Key>>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 92 of file stl_multiset\&.h\&. .SH "Constructor & Destructor Documentation" .PP .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP ()\fC [inline]\fP" .PP Default constructor creates no elements\&. .PP Definition at line 137 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP (const _Compare &__comp, const 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 146 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP (_InputIterator__first, _InputIterator__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 160 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP (_InputIterator__first, _InputIterator__last, const _Compare &__comp, const 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 176 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP (const \fBmultiset\fP< _Key, _Compare, _Alloc > &__x)\fC [inline]\fP" .PP Multiset copy constructor\&. .PP \fBParameters:\fP .RS 4 \fI__x\fP A multiset of identical element and allocator types\&. .RE .PP The newly-created multiset uses a copy of the allocation object used by \fI__x\fP\&. .PP Definition at line 189 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP (\fBmultiset\fP< _Key, _Compare, _Alloc > &&__x)\fC [inline]\fP, \fC [noexcept]\fP" .PP Multiset move constructor\&. .PP \fBParameters:\fP .RS 4 \fI__x\fP A multiset of identical element and allocator types\&. .RE .PP The newly-created multiset contains the exact contents of \fI__x\fP\&. The contents of \fI__x\fP are a valid, but unspecified multiset\&. .PP Definition at line 200 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::multiset\fP< _Key, _Compare, _Alloc >::\fBmultiset\fP (initializer_list< value_type >__l, const _Compare &__comp = \fC_Compare()\fP, const 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 214 of file stl_multiset\&.h\&. .SH "Member Function Documentation" .PP .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _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 295 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _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 332 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _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 341 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> void \fBstd::multiset\fP< _Key, _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 616 of file stl_multiset\&.h\&. .PP Referenced by std::multiset< _Key, _Compare, _Alloc >::operator=()\&. .SS "template, typename _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< _Key, _Compare, _Alloc >::count (const key_type &__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 627 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< _Key, _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 350 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< _Key, _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 359 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::emplace (_Args &&\&.\&.\&.__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 409 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::emplace_hint (const_iterator__pos, _Args &&\&.\&.\&.__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 http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt07ch17.html for more on \fIhinting\fP\&. .PP Insertion requires logarithmic time (if the hint is not taken)\&. .PP Definition at line 435 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> bool \fBstd::multiset\fP< _Key, _Compare, _Alloc >::empty () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns true if the set is empty\&. .PP Definition at line 365 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _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 304 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::pair\fP \fBstd::multiset\fP< _Key, _Compare, _Alloc >::equal_range (const key_type &__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 707 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBstd::pair\fP \fBstd::multiset\fP< _Key, _Compare, _Alloc >::equal_range (const key_type &__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 711 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> _GLIBCXX_ABI_TAG_CXX11 iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::erase (const_iterator__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 537 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< _Key, _Compare, _Alloc >::erase (const key_type &__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 567 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> _GLIBCXX_ABI_TAG_CXX11 iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::erase (const_iterator__first, const_iterator__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 589 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::find (const key_type &__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 645 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> const_iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::find (const key_type &__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 649 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> allocator_type \fBstd::multiset\fP< _Key, _Compare, _Alloc >::get_allocator () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the memory allocation object\&. .PP Definition at line 286 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::insert (const value_type &__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 454 of file stl_multiset\&.h\&. .PP Referenced by std::multiset< _Key, _Compare, _Alloc >::insert(), and std::multiset< _Key, _Compare, _Alloc >::operator=()\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::insert (const_iterator__position, const value_type &__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 http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt07ch17.html for more on \fIhinting\fP\&. .PP Insertion requires logarithmic time (if the hint is not taken)\&. .PP Definition at line 484 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> template void \fBstd::multiset\fP< _Key, _Compare, _Alloc >::insert (_InputIterator__first, _InputIterator__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 503 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> void \fBstd::multiset\fP< _Key, _Compare, _Alloc >::insert (initializer_list< value_type >__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 515 of file stl_multiset\&.h\&. .PP References std::multiset< _Key, _Compare, _Alloc >::insert()\&. .SS "template, typename _Alloc = std::allocator<_Key>> key_compare \fBstd::multiset\fP< _Key, _Compare, _Alloc >::key_comp () const\fC [inline]\fP" .PP Returns the comparison object\&. .PP Definition at line 278 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::lower_bound (const key_type &__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 666 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> const_iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::lower_bound (const key_type &__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 670 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< _Key, _Compare, _Alloc >::max_size () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the maximum size of the set\&. .PP Definition at line 375 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBmultiset\fP& \fBstd::multiset\fP< _Key, _Compare, _Alloc >::operator= (const \fBmultiset\fP< _Key, _Compare, _Alloc > &__x)\fC [inline]\fP" .PP Multiset assignment operator\&. .PP \fBParameters:\fP .RS 4 \fI__x\fP A multiset of identical element and allocator types\&. .RE .PP All the elements of \fI__x\fP are copied, but unlike the copy constructor, the allocator object is not copied\&. .PP Definition at line 229 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBmultiset\fP& \fBstd::multiset\fP< _Key, _Compare, _Alloc >::operator= (\fBmultiset\fP< _Key, _Compare, _Alloc > &&__x)\fC [inline]\fP" .PP Multiset move assignment operator\&. .PP \fBParameters:\fP .RS 4 \fI__x\fP A multiset of identical element and allocator types\&. .RE .PP The contents of \fI__x\fP are moved into this multiset (without copying)\&. \fI__x\fP is a valid, but unspecified multiset\&. .PP Definition at line 245 of file stl_multiset\&.h\&. .PP References std::multiset< _Key, _Compare, _Alloc >::clear(), and std::multiset< _Key, _Compare, _Alloc >::swap()\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBmultiset\fP& \fBstd::multiset\fP< _Key, _Compare, _Alloc >::operator= (initializer_list< value_type >__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\&. Old data may be lost\&. .PP Definition at line 266 of file stl_multiset\&.h\&. .PP References std::multiset< _Key, _Compare, _Alloc >::clear(), and std::multiset< _Key, _Compare, _Alloc >::insert()\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< _Key, _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 313 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> \fBreverse_iterator\fP \fBstd::multiset\fP< _Key, _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 322 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> size_type \fBstd::multiset\fP< _Key, _Compare, _Alloc >::size () const\fC [inline]\fP, \fC [noexcept]\fP" .PP Returns the size of the set\&. .PP Definition at line 370 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> void \fBstd::multiset\fP< _Key, _Compare, _Alloc >::swap (\fBmultiset\fP< _Key, _Compare, _Alloc > &__x)\fC [inline]\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 Definition at line 390 of file stl_multiset\&.h\&. .PP Referenced by std::multiset< _Key, _Compare, _Alloc >::operator=(), and std::swap()\&. .SS "template, typename _Alloc = std::allocator<_Key>> iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::upper_bound (const key_type &__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 682 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> const_iterator \fBstd::multiset\fP< _Key, _Compare, _Alloc >::upper_bound (const key_type &__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 686 of file stl_multiset\&.h\&. .SS "template, typename _Alloc = std::allocator<_Key>> value_compare \fBstd::multiset\fP< _Key, _Compare, _Alloc >::value_comp () const\fC [inline]\fP" .PP Returns the comparison object\&. .PP Definition at line 282 of file stl_multiset\&.h\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.