Freigeben über


set::equal_range

Gibt ein Paar Iteratoren bzw. dem ersten Element in einer Reihe mit einem Schlüssel, die größer oder gleich einem angegebenen Schlüssel und zum ersten Element im Satz mit einem Schlüssel ist, die größer ist, als Schlüssel zurück.

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

Parameter

  • _Key
    Der Sortierschlüssel mit dem eines Elements aus dem Satz verglichen werden, Argumentschlüssel, der gefunden wird.

Rückgabewert

Ein Paar Iteratoren, wobei das erste lower_bound der Schlüssel und der zweiten wird, ist upper_bound der Schlüssel.

Um auf das erste Iterator eines Paares pr zuzugreifen DataGridView-Elements durch die Memberfunktion, verwenden pr zurück.erstens und den Untergrenzeniterator dereferenzieren, Verwendung * (pr.erstens). Um auf den zweiten Iterator eines Paares pr zuzugreifen DataGridView-Elements durch die Memberfunktion, verwenden pr zurück.zweitens und den Obergrenzeniterator dereferenzieren, Verwendung * (pr.zweitens).

Beispiel

// set_equal_range.cpp
// compile with: /EHsc
#include <set>
#include <iostream>

int main( )
{
   using namespace std;
   typedef set<int, less< int > > IntSet;
   IntSet s1;
   set <int, less< int > > :: const_iterator s1_RcIter;
   
   s1.insert( 10 );
   s1.insert( 20 );
   s1.insert( 30 );

   pair <IntSet::const_iterator, IntSet::const_iterator> p1, p2;
   p1 = s1.equal_range( 20 );

   cout << "The upper bound of the element with "
        << "a key of 20 in the set s1 is: "
        << *(p1.second) << "." << endl;

   cout << "The lower bound of the element with "
        << "a key of 20 in the set s1 is: "
        << *(p1.first) << "." << endl;

   // Compare the upper_bound called directly 
   s1_RcIter = s1.upper_bound( 20 );
   cout << "A direct call of upper_bound( 20 ) gives "
        << *s1_RcIter << "," << endl
        << "matching the 2nd element of the pair"
        << " returned by equal_range( 20 )." << endl;

   p2 = s1.equal_range( 40 );

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

Anforderungen

Header: <set>

Namespace: std

Siehe auch

Referenz

set-Klasse

set::lower_bound, set::upper_bound und set::equal_range

Standardvorlagenbibliothek