#include <stl_multiset.h>
Inheritance diagram for std::multiset< Key, Compare, Alloc >:
pair< iterator, iterator > | equal_range (const key_type &x) |
Finds a subsequence matching given key. | |
pair< const_iterator, const_iterator > | equal_range (const key_type &x) const |
Finds a subsequence matching given key. | |
template<class K1, class C1, class A1> | |
bool | operator== (const multiset< K1, C1, A1 > &, const multiset< K1, C1, A1 > &) |
Finds a subsequence matching given key. | |
template<class K1, class C1, class A1> | |
bool | operator< (const multiset< K1, C1, A1 > &, const multiset< K1, C1, A1 > &) |
Finds a subsequence matching given key. | |
Public Types | |
typedef Key | key_type |
typedef Key | value_type |
typedef Compare | key_compare |
typedef Compare | value_compare |
typedef Alloc::pointer | pointer |
typedef Alloc::const_pointer | const_pointer |
typedef Alloc::reference | reference |
typedef Alloc::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 |
typedef Rep_type::allocator_type | allocator_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 |
Tries to locate an element in a set. | |
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 |
Finds the beginning of a subsequence matching given key. | |
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 |
Finds the end of a subsequence matching given key. | |
Private Types | |
typedef Rb_tree< key_type, value_type, Identity< value_type >, key_compare, Alloc > | Rep_type |
Private Attributes | |
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.
|
Default constructor creates no elements.
Definition at line 147 of file stl_multiset.h. |
|
Builds a multiset from a range.
Definition at line 165 of file stl_multiset.h. |
|
Builds a multiset from a range.
Definition at line 181 of file stl_multiset.h. |
|
Multiset copy constructor.
Definition at line 194 of file stl_multiset.h. |
|
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 232 of file stl_multiset.h. |
|
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 405 of file stl_multiset.h. |
|
Finds the number of elements with given key.
Definition at line 416 of file stl_multiset.h. |
|
Returns true if the set is empty.
Definition at line 264 of file stl_multiset.h. |
|
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 241 of file stl_multiset.h. |
|
Finds a subsequence matching given key.
std::make_pair(c.lower_bound(val), c.upper_bound(val)) This function probably only makes sense for multisets. Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 500 of file stl_multiset.h. |
|
Finds a subsequence matching given key.
std::make_pair(c.lower_bound(val), c.upper_bound(val)) This function probably only makes sense for multisets. Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 496 of file stl_multiset.h. |
|
Erases a [first,last) range of elements from a multiset.
Definition at line 392 of file stl_multiset.h. |
|
Erases elements according to the provided key.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 377 of file stl_multiset.h. |
|
Erases an element from a multiset.
Definition at line 359 of file stl_multiset.h. |
|
Tries to locate an element in a set.
end() ) iterator.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 438 of file stl_multiset.h. |
|
Tries to locate an element in a set.
end() ) iterator.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 434 of file stl_multiset.h. |
|
Returns the memory allocation object.
Definition at line 223 of file stl_multiset.h. |
|
A template function that attemps to insert a range of elements.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 345 of file stl_multiset.h. |
|
Inserts an element into the multiset.
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 329 of file stl_multiset.h. |
|
Inserts an element into the multiset.
Insertion requires logarithmic time. Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 305 of file stl_multiset.h. |
|
Returns the comparison object.
Definition at line 215 of file stl_multiset.h. Referenced by std::multiset< Key, Compare, Allocator >::key_comp(). |
|
Finds the beginning of a subsequence matching given key.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 459 of file stl_multiset.h. |
|
Finds the beginning of a subsequence matching given key.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 455 of file stl_multiset.h. |
|
Returns the maximum size of the set.
Definition at line 274 of file stl_multiset.h. |
|
Multiset assignment operator.
Definition at line 205 of file stl_multiset.h. |
|
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 250 of file stl_multiset.h. |
|
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 259 of file stl_multiset.h. |
|
Returns the size of the set.
Definition at line 269 of file stl_multiset.h. |
|
Swaps data with another multiset.
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 289 of file stl_multiset.h. Referenced by std::swap(). |
|
Finds the end of a subsequence matching given key.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 475 of file stl_multiset.h. |
|
Finds the end of a subsequence matching given key.
Reimplemented in __gnu_debug_def::multiset< Key, Compare, Allocator >. Definition at line 471 of file stl_multiset.h. |
|
Returns the comparison object.
Definition at line 219 of file stl_multiset.h. |
|
Finds a subsequence matching given key.
std::make_pair(c.lower_bound(val), c.upper_bound(val)) This function probably only makes sense for multisets. |
|
Finds a subsequence matching given key.
std::make_pair(c.lower_bound(val), c.upper_bound(val)) This function probably only makes sense for multisets. |