Showing content from https://en.cppreference.com/w/cpp/language/../algorithm/ranges/../../container/multimap.html below:
std::multimap - cppreference.com
(1) (2) (since C++17)
std::multimap
is an associative container that contains a sorted list of key-value pairs, while permitting multiple entries with the same key. Sorting is done according to the comparison function Compare
, applied to the keys. Search, insertion, and removal operations have logarithmic complexity.
Iterators of std::multimap
iterate in non-descending order of keys, where non-descending is defined by the comparison that was used for construction. That is, given
- m, a
std::multimap
- it_l and it_r, dereferenceable iterators to m, with it_l < it_r.
m.value_comp()(*it_r, *it_l) == false (least to greatest if using the default comparison).
The order of the key-value pairs whose keys compare equivalent is the order of insertion and does not change.
(since C++11)
Everywhere the standard library uses the Compare requirements, equivalence is determined by using the equivalence relation as described on Compare. In imprecise terms, two objects a and b are considered equivalent if neither compares less than the other: !comp(a, b) && !comp(b, a).
std::multimap
meets the requirements of Container, AllocatorAwareContainer, AssociativeContainer and ReversibleContainer.
All member functions of std::multimap
are constexpr: it is possible to create and use std::multimap
objects in the evaluation of a constant expression.
However, std::multimap
objects generally cannot be constexpr, because any dynamically allocated storage must be released in the same evaluation of constant expression.
(since C++26) [edit] Template parameters [edit] Member types [edit] Member classes [edit] Member functions constructs the multimap
(public member function) [edit] destructs the multimap
(public member function) [edit] assigns values to the container
(public member function) [edit] returns the associated allocator
(public member function) [edit] Iterators returns an iterator to the beginning
(public member function) [edit] returns an iterator to the end
(public member function) [edit] returns a reverse iterator to the beginning
(public member function) [edit] returns a reverse iterator to the end
(public member function) [edit] Capacity checks whether the container is empty
(public member function) [edit] returns the number of elements
(public member function) [edit] returns the maximum possible number of elements
(public member function) [edit] Modifiers clears the contents
(public member function) [edit] inserts elements or nodes(since C++17)
(public member function) [edit] inserts a range of elements
(public member function) [edit] constructs element in-place
(public member function) [edit] constructs elements in-place using a hint
(public member function) [edit] erases elements
(public member function) [edit] swaps the contents
(public member function) [edit] extracts nodes from the container
(public member function) [edit] splices nodes from another container
(public member function) [edit] Lookup returns the number of elements matching specific key
(public member function) [edit] finds element with specific key
(public member function) [edit] checks if the container contains element with specific key
(public member function) [edit] returns range of elements matching a specific key
(public member function) [edit] returns an iterator to the first element not less than the given key
(public member function) [edit] returns an iterator to the first element greater than the given key
(public member function) [edit] Observers returns the function that compares keys
(public member function) [edit] returns the function that compares keys in objects of type value_type
(public member function) [edit] [edit] Non-member functions [edit] Notes [edit] Example [edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior LWG 230 C++98 Key
was not required to be CopyConstructible
(a key of type Key
might not be able to be constructed) Key
is also required to
be CopyConstructible [edit] See also collection of key-value pairs, sorted by keys, keys are unique
(class template) [edit] collection of key-value pairs, hashed by keys
(class template) [edit] adapts two containers to provide a collection of key-value pairs, sorted by keys
(class template) [edit]
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4