Javatpoint Logo
Javatpoint Logo

C++ multimap equal_range()

C++ multimap equal_range() function is used to return the boundary of the range containing all key elements in the container which is equal to x.

If x does not match any key in the container, the return value range will be length 0 and both iterators will point to the nearest value greater than x. Otherwise, if x is greater than all elements in the container, it points to end.


The range is defined by two iterators. It returns the bounds of a range that includes all the elements in the container which have a key equivalent to k.


k: key to be searched in the multimap container.

Return value

This function returns pair. Where pair :: first is at the lower boundary of the range with the same value that lower_bound (x) would return, pair :: second is the same value as the upper_bound (x) would return, upper bound of the range it corresponds to.


Logarithmic in size.

Iterator validity

No changes.

Data Races

The container is accessed (neither the const not non-const versions modify the container).

No mapped values are accessed: concurrently accessing and modifying the elements is safe.

Exception Safety

If an exception is thrown, there are no changes in the container.

Example 1

Let's see the simple example:


Lower bound of b is: b = 2
Upper bound of b is: c = 3

In the above example, lower bound of b is b and upper bound of b is c.

Example 2

Let's see a simple example:


The lower bound is 3:0
The upper bound is 3:0

In the above example, equal_range() function returns 0 because it tries to find 10 which is not the key of the multimap mp.

Example 3

Let's see a simple example:


The lower bound of the element with a key of 2 in the multimap m1 is: 20.
The upper bound of the element with a key of 2 in the multimap m1 is: 30.
A direct call of upper_bound( 2 ) gives 30,
 matching the 2nd element of the pair returned by equal_range( 2 ).
The multimap m1 doesn't have an element with a key less than 4.

Example 4

Let's see a simple example:


B, 1

Next TopicC++ Multimap

Please Share

facebook twitter google plus pinterest