##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::map::equal_range

From cppreference.com
< cpp‎ | container‎ | map

[edit template]

std::pair<iterator,iterator> equal_range( const Key& key ); | (1) |
std::pair<const_iterator,const_iterator> equal_range( const Key& key ) const; | (2) |
template< class K > std::pair<iterator,iterator> equal_range( const K& x ); | (3) | (since C++14)
template< class K > std::pair<const_iterator,const_iterator> equal_range( const K& x ) const; | (4) | (since C++14)

Returns a range containing all elements with the given key in the container. The range is defined by two iterators, one pointing to the first element that is not less than `key` and another pointing to the first element greater than `key`. The first iterator may be alternatively obtained with lower_bound(), the second - with upper_bound().

1-2) Compares the keys to `key`.
3,4) Compares the keys to the value `x`. These templates only participate in overload resolution if the type Compare::is_transparent exists. They allow calling this function without constructing an instance of `Key`.

| This section is incomplete Reason: explain better

### [edit] Parameters

key | - | key value to compare the elements to
x | - | alternative value that can be compared to `Key`

### [edit] Return value

std::pair containing a pair of iterators defining the wanted range: the first pointing to the first element that is not less than `key` and the second pointing to the first element greater than `key`.

If there are no elements not less than `key`, past-the-end (see end()) iterator is returned as the first element. Similarly if there are no elements greater than `key`, past-the-end iterator is returned as the second element.

### [edit] Complexity

Logarithmic in the size of the container.

### [edit] Example

| This section is incomplete Reason: no example

### [edit] See also

find | finds element with specific key (public member function) [edit]
upper_bound | returns an iterator to the first element greater than a certain value (public member function) [edit]
lower_bound | returns an iterator to the first element not less than the given value (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/container/map/equal_range&oldid=65093"
Categories:

- Todo with reason
- Todo no example