Reference
C Library
IOstream Library
Strings library
STL Containers
STL Algorithms
Miscellaneous
STL Containers
bitset
deque
list
map
multimap
multiset
priority_queue
queue
set
stack
vector
deque
comparison operators
deque::deque
deque::~deque
member functions:
deque::assign
deque::at
deque::back
deque::begin
deque::clear
deque::empty
deque::end
deque::erase
deque::front
deque::get_allocator
deque::insert
deque::max_size
deque::operator=
deque::operator[]
deque::pop_back
deque::pop_front
deque::push_back
deque::push_front
deque::rbegin
deque::rend
deque::resize
deque::size
deque::swap


deque::rend

public member function
      reverse_iterator rend();
const_reverse_iterator rend() const;

Return reverse iterator to reverse end

Returns a reverse iterator referring to the element right before the first element in the deque container, which is considered its reverse end.

rend refers to the character right before the one that would be referred to by member begin.

Parameters

none

Return Value

A reverse iterator to the reverse end of the sequence.

Both reverse_iterator and const_reverse_iterator are member types. In the deque class template, these are reverse random access iterators, defined as reverse_iterator<iterator> and reverse_iterator<const_iterator> respectively.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// deque::rbegin/rend
#include <iostream>
#include <deque>
using namespace std;
int main ()
{
  deque<int> mydeque;
  deque<int>::reverse_iterator rit;
  for (int i=1; i<=5; i++) mydeque.push_back(i);
  cout << "mydeque contains:";
  rit = mydeque.rbegin();
  while ( rit < mydeque.rend() )
  {
    cout << " " << *rit;
    ++rit;
  }
  cout << endl;
  return 0;
}


Notice how the reverse iterator iterates through the deque container in a reverse way by increasing the iterator, and how this is compared against deque::rend in the loop.
Output:
5 4 3 2 1 

Complexity

Constant.

See also