struct ltstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
int main()
{
multimap<const char*, int, ltstr> m;
m.insert(pair<const char* const, int>("a", 1));
m.insert(pair<const char* const, int>("c", 2));
m.insert(pair<const char* const, int>("b", 3));
m.insert(pair<const char* const, int>("b", 4));
m.insert(pair<const char* const, int>("a", 5));
m.insert(pair<const char* const, int>("b", 6));
cout << "Number of elements with key a: " << m.count("a") << endl;
cout << "Number of elements with key b: " << m.count("b") << endl;
cout << "Number of elements with key c: " << m.count("c") << endl;
cout << "Elements in m: " << endl;
for (multimap<const char*, int, ltstr>::iterator it = m.begin();
it != m.end();
++it)
cout << " [" << (*it).first << ", " << (*it).second << "]" << endl;
}
None.
Member | Where defined | Description |
key_type | AssociativeContainer | The multimap 's key type, Key . |
data_type | PairAssociativeContainer | The type of object associated with the keys. |
value_type | PairAssociativeContainer | The type of object, pair<const key_type, data_type> , stored in the multimap. |
key_compare | SortedAssociativeContainer | functors that compares two keys for ordering. |
value_compare | SortedAssociativeContainer | functors that compares two values for ordering. |
pointer | Container | Pointer to T . |
reference | Container | Reference to T |
const_reference | Container | Const reference to T |
size_type | Container | An unsigned integral type. |
difference_type | Container | A signed integral type. |
iterator | Container | Iterator used to iterate through a multimap . [1] |
const_iterator | Container | Const iterator used to iterate through a multimap . |
reverse_iterator | ReversibleContainer | Iterator used to iterate backwards through a multimap . [1] |
const_reverse_iterator | ReversibleContainer | Const iterator used to iterate backwards through a multimap . |
iterator begin() | Container | Returns an iterator pointing to the beginning of the multimap . |
iterator end() | Container | Returns an iterator pointing to the end of the multimap . |
const_iterator begin() const | Container | Returns a const_iterator pointing to the beginning of the multimap . |
const_iterator end() const | Container | Returns a const_iterator pointing to the end of the multimap . |
reverse_iterator rbegin() | ReversibleContainer | Returns a reverse_iterator pointing to the beginning of the reversed multimap. |
reverse_iterator rend() | ReversibleContainer | Returns a reverse_iterator pointing to the end of the reversed multimap. |
const_reverse_iterator rbegin() const | ReversibleContainer | Returns a const_reverse_iterator pointing to the beginning of the reversed multimap. |
const_reverse_iterator rend() const | ReversibleContainer | Returns a const_reverse_iterator pointing to the end of the reversed multimap. |
size_type size() const | Container | Returns the size of the multimap . |
size_type max_size() const | Container | Returns the largest possible size of the multimap . |
bool empty() const | Container | true if the multimap 's size is 0 . |
key_compare key_comp() const | SortedAssociativeContainer | Returns the key_compare object used by the multimap . |
value_compare value_comp() const | SortedAssociativeContainer | Returns the value_compare object used by the multimap . |
multimap() | Container | Creates an empty multimap . |
multimap(const key_compare& comp) | SortedAssociativeContainer | Creates an empty multimap , using comp as the key_compare object. |
template <class InputIterator>
multimap(InputIterator f, InputIterator l)
[2] | MultipleSortedAssociativeContainer | Creates a multimap with a copy of a range. |
template <class InputIterator>
multimap(InputIterator f, InputIterator l,
const key_compare& comp)
[2] | MultipleSortedAssociativeContainer | Creates a multimap with a copy of a range, using comp as the key_compare object. |
multimap(const multimap&) | Container | The copy constructor. |
multimap& operator=(const multimap&) | Container | The assignment operator |
void swap(multimap&) | Container | Swaps the contents of two multimaps. |
iterator insert(const value_type& x) | MultipleAssociativeContainer | Inserts x into the multimap . |
iterator insert(iterator pos,
const value_type& x)
| MultipleSortedAssociativeContainer | Inserts x into the multimap , using pos as a hint to where it will be inserted. |
template <class InputIterator>
void insert(InputIterator, InputIterator)
[2] | MultipleSortedAssociativeContainer | Inserts a range into the multimap . |
void erase(iterator pos) | AssociativeContainer | Erases the element pointed to by pos . |
size_type erase(const key_type& k) | AssociativeContainer | Erases the element whose key is k . |
void erase(iterator first, iterator last) | AssociativeContainer | Erases all elements in a range. |
void clear() | AssociativeContainer | Erases all of the elements. |
iterator find(const key_type& k) | AssociativeContainer | Finds an element whose key is k . |
const_iterator find(const key_type& k) const | AssociativeContainer | Finds an element whose key is k . |
size_type count(const key_type& k) | AssociativeContainer | Counts the number of elements whose key is k . |
iterator lower_bound(const key_type& k) | SortedAssociativeContainer | Finds the first element whose key is not less than k . |
const_iterator lower_bound(const key_type& k) const | SortedAssociativeContainer | Finds the first element whose key is not less than k . |
iterator upper_bound(const key_type& k) | SortedAssociativeContainer | Finds the first element whose key greater than k . |
const_iterator upper_bound(const key_type& k) const | SortedAssociativeContainer | Finds the first element whose key greater than k . |
| SortedAssociativeContainer | Finds a range containing all elements whose key is k . |
| SortedAssociativeContainer | Finds a range containing all elements whose key is k . |
| ForwardContainer | Tests two multimaps for equality. This is a global function, not a member function. |
bool operator<(const multimap&,
const multimap&)
| ForwardContainer | Lexicographical comparison. This is a global function, not a member function. |