Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Returns an iterator addressing the first element in a reversed hash_multiset.
const_reverse_iterator rbegin( ) const;
reverse_iterator rbegin( );
Return Value
A reverse bidirectional iterator addressing the first element in a reversed hash_multiset or addressing what had been the last element in the unreversed hash_multiset.
Remarks
rbegin is used with a reversed hash_multiset just as begin is used with a hash_multiset.
If the return value of rbegin is assigned to a const_reverse_iterator, then the hash_multiset object cannot be modified. If the return value of rbegin is assigned to a reverse_iterator, then the hash_multiset object can be modified.
rbegin can be used to iterate through a hash_multiset backwards.
In Visual C++ .NET 2003, members of the <hash_map> and <hash_set> header files are no longer in the std namespace, but rather have been moved into the stdext namespace. See The stdext Namespace for more information.
Example
// hash_multiset_rbegin.cpp
// compile with: /EHsc
#define _DEFINE_DEPRECATED_HASH_CLASSES 0
#include <hash_set>
#include <iostream>
int main( )
{
using namespace std;
using namespace stdext;
hash_multiset <int> hms1;
hash_multiset <int>::iterator hms1_Iter;
hash_multiset <int>::reverse_iterator hms1_rIter;
hms1.insert( 10 );
hms1.insert( 20 );
hms1.insert( 30 );
hms1_rIter = hms1.rbegin( );
cout << "The first element in the reversed hash_multiset is "
<< *hms1_rIter << "." << endl;
// begin can be used to start an iteration
// throught a hash_multiset in a forward order
cout << "The hash_multiset is: ";
for ( hms1_Iter = hms1.begin( ) ; hms1_Iter != hms1.end( );
hms1_Iter++ )
cout << *hms1_Iter << " ";
cout << endl;
// rbegin can be used to start an iteration
// throught a hash_multiset in a reverse order
cout << "The reversed hash_multiset is: ";
for ( hms1_rIter = hms1.rbegin( ) ; hms1_rIter != hms1.rend( );
hms1_rIter++ )
cout << *hms1_rIter << " ";
cout << endl;
// A hash_multiset element can be erased by dereferencing to its key
hms1_rIter = hms1.rbegin( );
hms1.erase ( *hms1_rIter );
hms1_rIter = hms1.rbegin( );
cout << "After the erasure, the first element "
<< "in the reversed hash_multiset is "<< *hms1_rIter << "."
<< endl;
}
The first element in the reversed hash_multiset is 30. The hash_multiset is: 10 20 30 The reversed hash_multiset is: 30 20 10 After the erasure, the first element in the reversed hash_multiset is 20.
Requirements
Header: <hash_set>
Namespace: stdext