C++ Map Library - rend() Function


Advertisements

Description

The C++ function std::multimap::rend() returns a reverse iterator which points to the reverse end of the multimap i.e. beginning of the multimap.

Reverse iterator iterates in reverse order that is why incrementing them moves towards beginning of multimap.

Declaration

Following is the declaration for std::multimap::rend() function form std::map header.

C++98

reverse_iterator rend();
const_reverse_iterator rend() const;

C++11

reverse_iterator rend() nothrow;
const_reverse_iterator rend() const nothrow;

Parameters

None

Return value

If object is constant qualified then method returns constant reverse iterator otherwise non-constant reverse iterator.

Exceptions

This member function never throws exception.

Time complexity

Constant i.e. O(1)

Example

The following example shows the usage of std::multimap::rend() function.

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Multimap with duplicates */
   multimap<char, int> m {
            {'a', 1},
            {'a', 2},
            {'b', 3},
            {'c', 4},
            {'d', 5}
         };

   cout << "Multimap contains following elements in reverse order" << endl;

   for (auto it = m.rbegin(); it != m.rend(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Multimap contains following elements in reverse order
d = 5
c = 4
b = 3
a = 2
a = 1
map.htm
Advertisements