std::multimap<Key,T,Compare,Allocator>:: equal_range
|
std::
pair
<
iterator, iterator
>
equal_range
(
const
Key
&
key
)
;
|
(1) | (constexpr depuis C++26) |
|
std::
pair
<
const_iterator, const_iterator
>
equal_range ( const Key & key ) const ; |
(2) | (constexpr depuis C++26) |
|
template
<
class
K
>
std:: pair < iterator, iterator > equal_range ( const K & x ) ; |
(3) |
(depuis C++14)
(constexpr depuis C++26) |
|
template
<
class
K
>
std::
pair
<
const_iterator, const_iterator
>
|
(4) |
(depuis C++14)
(constexpr depuis C++26) |
Retourne une plage contenant tous les éléments avec la clé donnée dans le conteneur. La plage est définie par deux itérateurs, l'un pointant vers le premier élément qui n'est pas inférieur à la clé donnée et l'autre pointant vers le premier élément supérieur à la clé donnée.
Alternativement, le premier itérateur peut être obtenu avec lower_bound() , et le second avec upper_bound() .
Compare
est
transparent
. Elle permet d'appeler cette fonction sans construire une instance de
Key
.
SommaireParamètres
Valeur de retourstd::pair contenant une paire d'itérateurs définissant la plage souhaitée :
ComplexitéLogarithmique par rapport à la taille du conteneur. Notes
Exemple
Exécuter ce code
#include <iostream> #include <map> int main() { std::multimap<int, char> dict { {1, 'A'}, {2, 'B'}, {2, 'C'}, {2, 'D'}, {4, 'E'}, {3, 'F'} }; auto range = dict.equal_range(2); for (auto i = range.first; i != range.second; ++i) std::cout << i->first << ": " << i->second << '\n'; } Sortie : 2: B 2: C 2: D Voir aussi
|