Partager via


map::equal_range

Retourne une paire d'itérateurs qui représentent lower_bound de la clé et upper_bound de la clé.

pair <const_iterator, const_iterator> equal_range ( 
   const Key& _Key 
) const; 
pair <iterator, iterator> equal_range ( 
   const Key& _Key 
);

Paramètres

  • _Key
    La valeur de clé des arguments à comparer à la clé de tri d'un élément de la carte faisant l'objet d'une recherche.

Valeur de retour

Pour accéder au premier itérateurs d'une paire pr retourné par la fonction membre, utilisez pr.première, et pour déréférencer l'itérateur limite inférieure, utilisez * (pr.première). Pour accéder au deuxième itération d'une paire pr retourné par la fonction membre, utilisez pr.seconde, et pour déréférencer l'itérateur lié supérieur, utilisez * (pr.seconde).

Exemple

// map_equal_range.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std; 
   typedef map <int, int, less<int> > IntMap;
   IntMap m1;
   map <int, int> :: const_iterator m1_RcIter;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 1, 10 ) );
   m1.insert ( Int_Pair ( 2, 20 ) );
   m1.insert ( Int_Pair ( 3, 30 ) );

   pair <IntMap::const_iterator, IntMap::const_iterator> p1, p2;
   p1 = m1.equal_range( 2 );

   cout << "The lower bound of the element with "
        << "a key of 2 in the map m1 is: "
        << p1.first -> second << "." << endl;

   cout << "The upper bound of the element with "
        << "a key of 2 in the map m1 is: "
        << p1.second -> second << "." << endl;

   // Compare the upper_bound called directly 
   m1_RcIter = m1.upper_bound( 2 );

   cout << "A direct call of upper_bound( 2 ) gives "
        << m1_RcIter -> second << "," << endl
        << " matching the 2nd element of the pair"
        << " returned by equal_range( 2 )." << endl;

   p2 = m1.equal_range( 4 );

   // If no match is found for the key,
   // both elements of the pair return end( )
   if ( ( p2.first == m1.end( ) ) && ( p2.second == m1.end( ) ) )
      cout << "The map m1 doesn't have an element "
           << "with a key less than 40." << endl;
   else
      cout << "The element of map m1 with a key >= 40 is: "
           << p2.first -> first << "." << endl;
}
  

Configuration requise

En-tête : <mappage>

Espace de noms : std

Voir aussi

Référence

map, classe

Bibliothèque STL (Standard Template Library)