Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca parę Iteratory odpowiednio do pierwszego elementu w zestawie przy użyciu klucza, który jest większe niż lub równe określony klucz i do pierwszego elementu w zestawie za pomocą klucza, która jest większa niż ten klucz.
pair <const_iterator, const_iterator> equal_range (
const Key& _Key
) const;
pair <iterator, iterator> equal_range (
const Key& _Key
);
Parametry
- _Key
Klucz argument ma być porównywana z kluczem sortowania elementu z zestawu są przeszukiwane.
Wartość zwracana
Para Iteratory, gdzie pierwsza z nich to lower_bound z kluczem, a drugi jest upper_bound klucza.
Pierwszy sterująca parę dostępu do pr zwrócone przez funkcję członka, użyj pr. pierwszyi do cofnięcia odwołania sterująca dolną granicą, użyj * (pr.pierwszy).Drugi sterująca parę dostępu do pr zwrócone przez funkcję członka, użyj pr. drugii do cofnięcia odwołania sterująca górna granica, użyj * (pr.drugi).
Przykład
// 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;
}
Wymagania
Nagłówek: <set>
Przestrzeń nazw: std