#include <stl_multiset.h>
| std::pair< iterator, iterator > | equal_range (const key_type &__x) | 
| Finds a subsequence matching given key.   | |
| std::pair< const_iterator, const_iterator >  | equal_range (const key_type &__x) const | 
| template<class _K1, class _C1, class _A1> | |
| bool | operator== (const multiset< _K1, _C1, _A1 > &, const multiset< _K1, _C1, _A1 > &) | 
| template<class _K1, class _C1, class _A1> | |
| bool | operator< (const multiset< _K1, _C1, _A1 > &, const multiset< _K1, _C1, _A1 > &) | 
Public Types | |
| typedef _Key_alloc_type::pointer | pointer | 
| typedef _Key_alloc_type::const_pointer | const_pointer | 
| typedef _Key_alloc_type::reference | reference | 
| typedef _Key_alloc_type::const_reference | const_reference | 
| typedef _Rep_type::const_iterator | iterator | 
| typedef _Rep_type::const_iterator | const_iterator | 
| typedef _Rep_type::const_reverse_iterator | reverse_iterator | 
| typedef _Rep_type::const_reverse_iterator | const_reverse_iterator | 
| typedef _Rep_type::size_type | size_type | 
| typedef _Rep_type::difference_type | difference_type | 
Public Member Functions | |
| multiset () | |
| Default constructor creates no elements.   | |
| multiset (const _Compare &__comp, const allocator_type &__a=allocator_type()) | |
| template<class _InputIterator> | |
| multiset (_InputIterator __first, _InputIterator __last) | |
| Builds a multiset from a range.   | |
| template<class _InputIterator> | |
| multiset (_InputIterator __first, _InputIterator __last, const _Compare &__comp, const allocator_type &__a=allocator_type()) | |
| Builds a multiset from a range.   | |
| multiset (const multiset< _Key, _Compare, _Alloc > &__x) | |
| Multiset copy constructor.   | |
| multiset< _Key, _Compare, _Alloc > &  | operator= (const multiset< _Key, _Compare, _Alloc > &__x) | 
| Multiset assignment operator.   | |
| key_compare | key_comp () const | 
| Returns the comparison object.   | |
| value_compare | value_comp () const | 
| Returns the comparison object.   | |
| allocator_type | get_allocator () const | 
| Returns the memory allocation object.   | |
| iterator | begin () const | 
| iterator | end () const | 
| reverse_iterator | rbegin () const | 
| reverse_iterator | rend () const | 
| bool | empty () const | 
| Returns true if the set is empty.   | |
| size_type | size () const | 
| Returns the size of the set.   | |
| size_type | max_size () const | 
| Returns the maximum size of the set.   | |
| void | swap (multiset< _Key, _Compare, _Alloc > &__x) | 
| Swaps data with another multiset.   | |
| iterator | insert (const value_type &__x) | 
| Inserts an element into the multiset.   | |
| iterator | insert (iterator __position, const value_type &__x) | 
| Inserts an element into the multiset.   | |
| template<class _InputIterator> | |
| void | insert (_InputIterator __first, _InputIterator __last) | 
| A template function that attemps to insert a range of elements.   | |
| void | erase (iterator __position) | 
| Erases an element from a multiset.   | |
| size_type | erase (const key_type &__x) | 
| Erases elements according to the provided key.   | |
| void | erase (iterator __first, iterator __last) | 
| Erases a [first,last) range of elements from a multiset.   | |
| void | clear () | 
| size_type | count (const key_type &__x) const | 
| Finds the number of elements with given key.   | |
| iterator | find (const key_type &__x) | 
| Tries to locate an element in a set.   | |
| const_iterator | find (const key_type &__x) const | 
| iterator | lower_bound (const key_type &__x) | 
| Finds the beginning of a subsequence matching given key.   | |
| const_iterator | lower_bound (const key_type &__x) const | 
| iterator | upper_bound (const key_type &__x) | 
| Finds the end of a subsequence matching given key.   | |
| const_iterator | upper_bound (const key_type &__x) const | 
Private Types | |
| typedef _Alloc::value_type | _Alloc_value_type | 
| typedef _Compare | key_compare | 
| typedef _Compare | value_compare | 
| typedef _Alloc | allocator_type | 
| typedef _Alloc::template rebind< _Key >::other  | _Key_alloc_type | 
| typedef _Rb_tree< key_type, value_type, _Identity< value_type >, key_compare, _Key_alloc_type >  | _Rep_type | 
Private Member Functions | |
| __glibcxx_class_requires (_Key, _SGIAssignableConcept) __glibcxx_class_requires4(_Compare | |
Private Attributes | |
| bool | |
| _Key | |
| _BinaryFunctionConcept __glibcxx_class_requires2(_Key, _Alloc_value_type, _SameTypeConcept) public typedef _Key  | value_type | 
| _Rep_type | _M_t | 
Meets the requirements of a container, a reversible container, and an associative container (using equivalent keys). For a multiset<Key> the key_type and value_type are Key.
Multisets support bidirectional iterators.
Definition at line 105 of file stl_multiset.h.
typedef _Alloc::value_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::_Alloc_value_type [private]           | 
        
Definition at line 108 of file stl_multiset.h.
typedef _Alloc::template rebind<_Key>::other _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::_Key_alloc_type [private]           | 
        
Definition at line 124 of file stl_multiset.h.
typedef _Rb_tree<key_type, value_type, _Identity<value_type>, key_compare, _Key_alloc_type> _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::_Rep_type [private]           | 
        
Definition at line 127 of file stl_multiset.h.
typedef _Alloc _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::allocator_type [private]           | 
        
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 120 of file stl_multiset.h.
| typedef _Rep_type::const_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::const_iterator | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 140 of file stl_multiset.h.
| typedef _Key_alloc_type::const_pointer _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::const_pointer | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 133 of file stl_multiset.h.
| typedef _Key_alloc_type::const_reference _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::const_reference | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 135 of file stl_multiset.h.
| typedef _Rep_type::const_reverse_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::const_reverse_iterator | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 142 of file stl_multiset.h.
| typedef _Rep_type::difference_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::difference_type | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 144 of file stl_multiset.h.
| typedef _Rep_type::const_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::iterator | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 139 of file stl_multiset.h.
typedef _Compare _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::key_compare [private]           | 
        
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 118 of file stl_multiset.h.
| typedef _Key_alloc_type::pointer _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::pointer | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 132 of file stl_multiset.h.
| typedef _Key_alloc_type::reference _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::reference | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 134 of file stl_multiset.h.
| typedef _Rep_type::const_reverse_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::reverse_iterator | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 141 of file stl_multiset.h.
| typedef _Rep_type::size_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::size_type | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 143 of file stl_multiset.h.
typedef _Compare _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::value_compare [private]           | 
        
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 119 of file stl_multiset.h.
| _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::multiset | ( | ) |  [inline] | 
        
| _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::multiset | ( | const _Compare & | __comp, | |
| const allocator_type & |  __a = allocator_type() | |||
| ) |  [inline, explicit] | 
        
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 155 of file stl_multiset.h.
| _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::multiset | ( | _InputIterator | __first, | |
| _InputIterator | __last | |||
| ) |  [inline] | 
        
Builds a multiset from a range.
| first | An input iterator. | |
| last | An input iterator. | 
Definition at line 169 of file stl_multiset.h.
| _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::multiset | ( | _InputIterator | __first, | |
| _InputIterator | __last, | |||
| const _Compare & | __comp, | |||
| const allocator_type & |  __a = allocator_type() | |||
| ) |  [inline] | 
        
Builds a multiset from a range.
| first | An input iterator. | |
| last | An input iterator. | |
| comp | A comparison functor. | |
| a | An allocator object. | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 185 of file stl_multiset.h.
| _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::multiset | ( | const multiset< _Key, _Compare, _Alloc > & | __x | ) |  [inline] | 
        
Multiset copy constructor.
| x | A multiset of identical element and allocator types. | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 198 of file stl_multiset.h.
| _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::__glibcxx_class_requires | ( | _Key | , | |
| _SGIAssignableConcept | ||||
| ) |  [private] | 
        
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::begin | ( | ) |  const [inline] | 
        
Returns a read/write iterator that points to the first element in the multiset. Iteration is done in ascending order according to the keys.
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 236 of file stl_multiset.h.
| void _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::clear | ( | ) |  [inline] | 
        
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 responsibilty.
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 400 of file stl_multiset.h.
| size_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::count | ( | const key_type & | __x | ) |  const [inline] | 
        
Finds the number of elements with given key.
| x | Key of elements to be located. | 
Definition at line 411 of file stl_multiset.h.
| bool _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::empty | ( | ) |  const [inline] | 
        
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::end | ( | ) |  const [inline] | 
        
Returns a read/write iterator that points one past the last element in the multiset. Iteration is done in ascending order according to the keys.
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 245 of file stl_multiset.h.
| std::pair<const_iterator, const_iterator> _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::equal_range | ( | const key_type & | __x | ) |  const [inline] | 
        
Definition at line 495 of file stl_multiset.h.
| std::pair<iterator, iterator> _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::equal_range | ( | const key_type & | __x | ) |  [inline] | 
        
Finds a subsequence matching given key.
| x | Key to be located. | 
std::make_pair(c.lower_bound(val), c.upper_bound(val))
This function probably only makes sense for multisets.
Definition at line 491 of file stl_multiset.h.
| void _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::erase | ( | iterator | __first, | |
| iterator | __last | |||
| ) |  [inline] | 
        
Erases a [first,last) range of elements from a multiset.
| first | Iterator pointing to the start of the range to be erased. | |
| last | Iterator pointing to the end of the range to be erased. | 
Definition at line 390 of file stl_multiset.h.
| size_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::erase | ( | const key_type & | __x | ) |  [inline] | 
        
Erases elements according to the provided key.
| x | Key of element to be erased. | 
Definition at line 375 of file stl_multiset.h.
| void _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::erase | ( | iterator | __position | ) |  [inline] | 
        
Erases an element from a multiset.
| position | An iterator pointing to the element to be erased. | 
Definition at line 360 of file stl_multiset.h.
| const_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::find | ( | const key_type & | __x | ) |  const [inline] | 
        
Definition at line 433 of file stl_multiset.h.
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::find | ( | const key_type & | __x | ) |  [inline] | 
        
Tries to locate an element in a set.
| x | Element to be located. | 
end() ) iterator. 
Definition at line 429 of file stl_multiset.h.
| allocator_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::get_allocator | ( | ) |  const [inline] | 
        
| void _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::insert | ( | _InputIterator | __first, | |
| _InputIterator | __last | |||
| ) |  [inline] | 
        
A template function that attemps to insert a range of elements.
| first | Iterator pointing to the start of the range to be inserted. | |
| last | Iterator pointing to the end of the range. | 
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 346 of file stl_multiset.h.
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::insert | ( | iterator | __position, | |
| const value_type & | __x | |||
| ) |  [inline] | 
        
Inserts an element into the multiset.
| position | An iterator that serves as a hint as to where the element should be inserted. | |
| x | Element to be inserted. | 
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.
See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4 for more on "hinting".
Insertion requires logarithmic time (if the hint is not taken).
Definition at line 333 of file stl_multiset.h.
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::insert | ( | const value_type & | __x | ) |  [inline] | 
        
Inserts an element into the multiset.
| x | Element to be inserted. | 
Insertion requires logarithmic time.
Definition at line 309 of file stl_multiset.h.
| key_compare _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::key_comp | ( | ) |  const [inline] | 
        
| const_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::lower_bound | ( | const key_type & | __x | ) |  const [inline] | 
        
Definition at line 454 of file stl_multiset.h.
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::lower_bound | ( | const key_type & | __x | ) |  [inline] | 
        
Finds the beginning of a subsequence matching given key.
| x | Key to be located. | 
Definition at line 450 of file stl_multiset.h.
| size_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::max_size | ( | ) |  const [inline] | 
        
| multiset<_Key,_Compare,_Alloc>& _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::operator= | ( | const multiset< _Key, _Compare, _Alloc > & | __x | ) |  [inline] | 
        
Multiset assignment operator.
| x | A multiset of identical element and allocator types. | 
Definition at line 209 of file stl_multiset.h.
| reverse_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::rbegin | ( | ) |  const [inline] | 
        
Returns a read/write reverse iterator that points to the last element in the multiset. Iteration is done in descending order according to the keys.
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 254 of file stl_multiset.h.
| reverse_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::rend | ( | ) |  const [inline] | 
        
Returns a read/write reverse iterator that points to the last element in the multiset. Iteration is done in descending order according to the keys.
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 263 of file stl_multiset.h.
| size_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::size | ( | ) |  const [inline] | 
        
| void _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::swap | ( | multiset< _Key, _Compare, _Alloc > & | __x | ) |  [inline] | 
        
Swaps data with another multiset.
| x | A multiset of the same element and allocator types. | 
Compare 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. 
Definition at line 293 of file stl_multiset.h.
Referenced by _GLIBCXX_STD::swap().
| const_iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::upper_bound | ( | const key_type & | __x | ) |  const [inline] | 
        
Definition at line 470 of file stl_multiset.h.
| iterator _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::upper_bound | ( | const key_type & | __x | ) |  [inline] | 
        
Finds the end of a subsequence matching given key.
| x | Key to be located. | 
Definition at line 466 of file stl_multiset.h.
| value_compare _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::value_comp | ( | ) |  const [inline] | 
        
| bool operator< | ( | const multiset< _K1, _C1, _A1 > & | , | |
| const multiset< _K1, _C1, _A1 > & | ||||
| ) |  [friend] | 
        
| bool operator== | ( | const multiset< _K1, _C1, _A1 > & | , | |
| const multiset< _K1, _C1, _A1 > & | ||||
| ) |  [friend] | 
        
_GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::_Key [private]           | 
        
Definition at line 110 of file stl_multiset.h.
_Rep_type _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::_M_t [private]           | 
        
Definition at line 129 of file stl_multiset.h.
Referenced by _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::begin(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::clear(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::count(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::empty(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::end(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::equal_range(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::erase(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::find(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::get_allocator(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::insert(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::key_comp(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::lower_bound(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::max_size(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::multiset(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::operator=(), _GLIBCXX_STD::operator==(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::rbegin(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::rend(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::size(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::swap(), _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::upper_bound(), and _GLIBCXX_STD::multiset< _Key, _Compare, _Allocator >::value_comp().
_GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::bool [private]           | 
        
Definition at line 110 of file stl_multiset.h.
_BinaryFunctionConcept __glibcxx_class_requires2 (_Key, _Alloc_value_type, _SameTypeConcept) public typedef _Key _GLIBCXX_STD::multiset< _Key, _Compare, _Alloc >::value_type [private]           | 
        
Reimplemented in __gnu_debug_def::multiset< _Key, _Compare, _Allocator >.
Definition at line 112 of file stl_multiset.h.
 1.4.7