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 zestaw wielokrotny za pomocą klucza, która jest większa niż określonego klucza i do pierwszego elementu w zestaw wielokrotny przy użyciu klucza, który jest równy lub większy 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 wielostopniowy są przeszukiwane.
Wartość zwracana
Para Iteratory tak, aby była pierwszym 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
// multiset_equal_range.cpp
// compile with: /EHsc
#include <set>
#include <iostream>
int main( )
{
using namespace std;
typedef multiset<int, less<int> > IntSet;
IntSet ms1;
multiset <int> :: const_iterator ms1_RcIter;
ms1.insert( 10 );
ms1.insert( 20 );
ms1.insert( 30 );
pair <IntSet::const_iterator, IntSet::const_iterator> p1, p2;
p1 = ms1.equal_range( 20 );
cout << "The upper bound of the element with "
<< "a key of 20 in the multiset ms1 is: "
<< *( p1.second ) << "." << endl;
cout << "The lower bound of the element with "
<< "a key of 20 in the multiset ms1 is: "
<< *( p1.first ) << "." << endl;
// Compare the upper_bound called directly
ms1_RcIter = ms1.upper_bound( 20 );
cout << "A direct call of upper_bound( 20 ) gives "
<< *ms1_RcIter << "," << endl
<< "matching the 2nd element of the pair"
<< " returned by equal_range( 20 )." << endl;
p2 = ms1.equal_range( 40 );
// If no match is found for the key,
// both elements of the pair return end( )
if ( ( p2.first == ms1.end( ) ) && ( p2.second == ms1.end( ) ) )
cout << "The multiset ms1 doesn't have an element "
<< "with a key less than 40." << endl;
else
cout << "The element of multiset ms1 with a key >= 40 is: "
<< *( p1.first ) << "." << endl;
}
Wymagania
Nagłówek: <set>
Przestrzeń nazw: std