C++ Iterator Library - reverse_iterator



Description

It is an iterator adaptor that reverses the direction of a given iterator.

Declaration

Following is the declaration for std::reverse_iterator.

C++11

template <class Iterator> class reverse_iterator;

Parameters

Iterator − It is a bidirectional iterator type.

Return value

none

Exceptions

If x somehow throws while applying the unary operator& to it, this function never throws exceptions.

Time complexity

constant for random-access iterators.

Example

The following example shows the usage of std::reverse_iterator.

#include <iostream>
#include <string>
#include <iterator>
 
int main() {
   std::string s = "tutorialspoint";
   std::reverse_iterator<std::string::iterator> r = s.rbegin();
   r[10] = 'O'; // replaces 'o' with 'O' 
   r += 10; // iterator now points at 'O'
   std::string rev(r, s.rend());
   std::cout << rev << '\n';
}

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

Otut
iterator.htm
Advertisements