#include <stl_multimap.h>
Inheritance diagram for std::multimap< Key, Type, Compare, Alloc >:


Public Types | |
| typedef Key | key_type |
| typedef Type | mapped_type |
| typedef pair< const Key, Type > | value_type |
| typedef Compare | key_compare |
| typedef Alloc::pointer | pointer |
| typedef Alloc::const_pointer | const_pointer |
| typedef Alloc::reference | reference |
| typedef Alloc::const_reference | const_reference |
| typedef Rep_type::allocator_type | allocator_type |
| typedef Rep_type::iterator | iterator |
| typedef Rep_type::const_iterator | const_iterator |
| typedef Rep_type::size_type | size_type |
| typedef Rep_type::difference_type | difference_type |
| typedef Rep_type::reverse_iterator | reverse_iterator |
| typedef Rep_type::const_reverse_iterator | const_reverse_iterator |
Public Member Functions | |
| multimap () | |
| Default constructor creates no elements. | |
| multimap (const Compare &comp, const allocator_type &a=allocator_type()) | |
| Default constructor creates no elements. | |
| multimap (const multimap &x) | |
| Multimap copy constructor. | |
| template<typename InputIterator> | |
| multimap (InputIterator first, InputIterator last) | |
| Builds a multimap from a range. | |
| template<typename InputIterator> | |
| multimap (InputIterator first, InputIterator last, const Compare &comp, const allocator_type &a=allocator_type()) | |
| Builds a multimap from a range. | |
| multimap & | operator= (const multimap &x) |
| Multimap assignment operator. | |
| allocator_type | get_allocator () const |
| Get a copy of the memory allocation object. | |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| bool | empty () const |
| size_type | size () const |
| size_type | max_size () const |
| iterator | insert (const value_type &x) |
| Inserts a std::pair into the multimap. | |
| iterator | insert (iterator position, const value_type &x) |
| Inserts a std::pair into the multimap. | |
| template<typename 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 multimap. | |
| 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 multimap. | |
| void | swap (multimap &x) |
| Swaps data with another multimap. | |
| void | clear () |
| key_compare | key_comp () const |
| value_compare | value_comp () const |
| iterator | find (const key_type &x) |
| Tries to locate an element in a multimap. | |
| const_iterator | find (const key_type &x) const |
| Tries to locate an element in a multimap. | |
| size_type | count (const key_type &x) const |
| Finds the number of elements with given key. | |
| 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. | |
| 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. | |
Private Types | |
|
typedef Rb_tree< key_type, value_type, Select1st< value_type >, key_compare, Alloc > | Rep_type |
Private Attributes | |
| Rep_type | M_t |
Classes | |
| class | value_compare |
Meets the requirements of a container, a reversible container, and an associative container (using equivalent keys). For a multimap<Key,T> the key_type is Key, the mapped_type is T, and the value_type is std::pair<const Key,T>.
Multimaps support bidirectional iterators.
Definition at line 107 of file stl_multimap.h.
| std::multimap< Key, Type, Compare, Alloc >::multimap | ( | ) | [inline] |
| std::multimap< Key, Type, Compare, Alloc >::multimap | ( | const Compare & | comp, | |
| const allocator_type & | a = allocator_type() | |||
| ) | [inline, explicit] |
| std::multimap< Key, Type, Compare, Alloc >::multimap | ( | const multimap< Key, Type, Compare, Alloc > & | x | ) | [inline] |
Multimap copy constructor.
| x | A multimap of identical element and allocator types. |
Definition at line 181 of file stl_multimap.h.
| std::multimap< Key, Type, Compare, Alloc >::multimap | ( | InputIterator | first, | |
| InputIterator | last | |||
| ) | [inline] |
Builds a multimap from a range.
| first | An input iterator. | |
| last | An input iterator. |
Definition at line 194 of file stl_multimap.h.
| std::multimap< Key, Type, Compare, Alloc >::multimap | ( | InputIterator | first, | |
| InputIterator | last, | |||
| const Compare & | comp, | |||
| const allocator_type & | a = allocator_type() | |||
| ) | [inline] |
Builds a multimap from a range.
| first | An input iterator. | |
| last | An input iterator. | |
| comp | A comparison functor. | |
| a | An allocator object. |
Definition at line 210 of file stl_multimap.h.
| multimap& std::multimap< Key, Type, Compare, Alloc >::operator= | ( | const multimap< Key, Type, Compare, Alloc > & | x | ) | [inline] |
Multimap assignment operator.
| x | A multimap of identical element and allocator types. |
Definition at line 233 of file stl_multimap.h.
| allocator_type std::multimap< Key, Type, Compare, Alloc >::get_allocator | ( | ) | const [inline] |
Get a copy of the memory allocation object.
Definition at line 241 of file stl_multimap.h.
Referenced by std::multimap< Key, Type, Compare, Allocator >::get_allocator().
| iterator std::multimap< Key, Type, Compare, Alloc >::begin | ( | ) | [inline] |
Returns a read/write iterator that points to the first pair in the multimap. Iteration is done in ascending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 251 of file stl_multimap.h.
| const_iterator std::multimap< Key, Type, Compare, Alloc >::begin | ( | ) | const [inline] |
Returns a read-only (constant) iterator that points to the first pair in the multimap. Iteration is done in ascending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 260 of file stl_multimap.h.
| iterator std::multimap< Key, Type, Compare, Alloc >::end | ( | ) | [inline] |
Returns a read/write iterator that points one past the last pair in the multimap. Iteration is done in ascending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 269 of file stl_multimap.h.
| const_iterator std::multimap< Key, Type, Compare, Alloc >::end | ( | ) | const [inline] |
Returns a read-only (constant) iterator that points one past the last pair in the multimap. Iteration is done in ascending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 278 of file stl_multimap.h.
| reverse_iterator std::multimap< Key, Type, Compare, Alloc >::rbegin | ( | ) | [inline] |
Returns a read/write reverse iterator that points to the last pair in the multimap. Iteration is done in descending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 287 of file stl_multimap.h.
| const_reverse_iterator std::multimap< Key, Type, Compare, Alloc >::rbegin | ( | ) | const [inline] |
Returns a read-only (constant) reverse iterator that points to the last pair in the multimap. Iteration is done in descending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 296 of file stl_multimap.h.
| reverse_iterator std::multimap< Key, Type, Compare, Alloc >::rend | ( | ) | [inline] |
Returns a read/write reverse iterator that points to one before the first pair in the multimap. Iteration is done in descending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 305 of file stl_multimap.h.
| const_reverse_iterator std::multimap< Key, Type, Compare, Alloc >::rend | ( | ) | const [inline] |
Returns a read-only (constant) reverse iterator that points to one before the first pair in the multimap. Iteration is done in descending order according to the keys.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 314 of file stl_multimap.h.
| bool std::multimap< Key, Type, Compare, Alloc >::empty | ( | ) | const [inline] |
Returns true if the multimap is empty.
Definition at line 320 of file stl_multimap.h.
| size_type std::multimap< Key, Type, Compare, Alloc >::size | ( | ) | const [inline] |
Returns the size of the multimap.
Definition at line 325 of file stl_multimap.h.
| size_type std::multimap< Key, Type, Compare, Alloc >::max_size | ( | ) | const [inline] |
Returns the maximum size of the multimap.
Definition at line 330 of file stl_multimap.h.
| iterator std::multimap< Key, Type, Compare, Alloc >::insert | ( | const value_type & | x | ) | [inline] |
Inserts a std::pair into the multimap.
| x | Pair to be inserted (see std::make_pair for easy creation of pairs). |
Insertion requires logarithmic time.
Definition at line 347 of file stl_multimap.h.
| iterator std::multimap< Key, Type, Compare, Alloc >::insert | ( | iterator | position, | |
| const value_type & | x | |||
| ) | [inline] |
Inserts a std::pair into the multimap.
| position | An iterator that serves as a hint as to where the pair should be inserted. | |
| x | Pair to be inserted (see std::make_pair for easy creation of pairs). |
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 371 of file stl_multimap.h.
| void std::multimap< Key, Type, 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::multimap< Key, Type, Compare, Allocator >.
Definition at line 384 of file stl_multimap.h.
| void std::multimap< Key, Type, Compare, Alloc >::erase | ( | iterator | position | ) | [inline] |
Erases an element from a multimap.
| position | An iterator pointing to the element to be erased. |
Definition at line 398 of file stl_multimap.h.
| size_type std::multimap< Key, Type, Compare, Alloc >::erase | ( | const key_type & | x | ) | [inline] |
Erases elements according to the provided key.
| x | Key of element to be erased. |
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 413 of file stl_multimap.h.
| void std::multimap< Key, Type, Compare, Alloc >::erase | ( | iterator | first, | |
| iterator | last | |||
| ) | [inline] |
Erases a [first,last) range of elements from a multimap.
| 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 428 of file stl_multimap.h.
| void std::multimap< Key, Type, Compare, Alloc >::swap | ( | multimap< Key, Type, Compare, Alloc > & | x | ) | [inline] |
Swaps data with another multimap.
| x | A multimap 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(m1,m2) will feed to this function.
Definition at line 443 of file stl_multimap.h.
Referenced by std::swap().
| void std::multimap< Key, Type, Compare, Alloc >::clear | ( | ) | [inline] |
Erases all elements in a multimap. 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::multimap< Key, Type, Compare, Allocator >.
Definition at line 453 of file stl_multimap.h.
| key_compare std::multimap< Key, Type, Compare, Alloc >::key_comp | ( | ) | const [inline] |
Returns the key comparison object out of which the multimap was constructed.
Definition at line 462 of file stl_multimap.h.
| value_compare std::multimap< Key, Type, Compare, Alloc >::value_comp | ( | ) | const [inline] |
Returns a value comparison object, built from the key comparison object out of which the multimap was constructed.
Definition at line 470 of file stl_multimap.h.
| iterator std::multimap< Key, Type, Compare, Alloc >::find | ( | const key_type & | x | ) | [inline] |
Tries to locate an element in a multimap.
| x | Key of (key, value) pair to be located. |
end() ) iterator.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 486 of file stl_multimap.h.
| const_iterator std::multimap< Key, Type, Compare, Alloc >::find | ( | const key_type & | x | ) | const [inline] |
Tries to locate an element in a multimap.
| x | Key of (key, value) pair to be located. |
end() ) iterator.
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 501 of file stl_multimap.h.
| size_type std::multimap< Key, Type, Compare, Alloc >::count | ( | const key_type & | x | ) | const [inline] |
Finds the number of elements with given key.
| x | Key of (key, value) pairs to be located. |
Definition at line 510 of file stl_multimap.h.
| iterator std::multimap< Key, Type, Compare, Alloc >::lower_bound | ( | const key_type & | x | ) | [inline] |
Finds the beginning of a subsequence matching given key.
| x | Key of (key, value) pair to be located. |
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 525 of file stl_multimap.h.
| const_iterator std::multimap< Key, Type, Compare, Alloc >::lower_bound | ( | const key_type & | x | ) | const [inline] |
Finds the beginning of a subsequence matching given key.
| x | Key of (key, value) pair to be located. |
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 540 of file stl_multimap.h.
| iterator std::multimap< Key, Type, Compare, Alloc >::upper_bound | ( | const key_type & | x | ) | [inline] |
Finds the end of a subsequence matching given key.
| x | Key of (key, value) pair to be located. |
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 550 of file stl_multimap.h.
| const_iterator std::multimap< Key, Type, Compare, Alloc >::upper_bound | ( | const key_type & | x | ) | const [inline] |
Finds the end of a subsequence matching given key.
| x | Key of (key, value) pair to be located. |
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 560 of file stl_multimap.h.
| pair<iterator,iterator> std::multimap< Key, Type, Compare, Alloc >::equal_range | ( | const key_type & | x | ) | [inline] |
Finds a subsequence matching given key.
| x | Key of (key, value) pairs to be located. |
std::make_pair(c.lower_bound(val), c.upper_bound(val))
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 577 of file stl_multimap.h.
| pair<const_iterator,const_iterator> std::multimap< Key, Type, Compare, Alloc >::equal_range | ( | const key_type & | x | ) | const [inline] |
Finds a subsequence matching given key.
| x | Key of (key, value) pairs to be located. |
std::make_pair(c.lower_bound(val), c.upper_bound(val))
Reimplemented in __gnu_debug_def::multimap< Key, Type, Compare, Allocator >.
Definition at line 594 of file stl_multimap.h.
1.5.1