STL Sample for deque::rbegin and deque::rend Functions

Last reviewed: October 9, 1997
Article ID: Q156592
The information in this article applies to:
  • The Standard C++ Library included with: - Microsoft Visual C++, 32-bit Edition, version 4.2

SUMMARY

The sample code below illustrates how to use the deque::rbegin, deque::rend, and deque::push_back STL functions in Visual C++.

MORE INFORMATION

Required Header

   < deque>

Prototype

   const_reverse_iterator rbegin() const;
   reverse_iterator rbegin();

   const_reverse_iterator rend() const;
   reverse_iterator rend();

NOTE: The class/parameter names in the prototype may not match the version in the header file. Some have been modified to improve readability.

Description

The rbegin member function returns a reverse iterator that points just beyond the end of the controlled sequence. Therefore, it designates the beginning of the reverse sequence.

The rend member function returns a reverse iterator that points at the first element of the sequence, or just beyond the end of an empty sequence. Therefore, it designates the end of the reverse sequence.

Sample Code

//////////////////////////////////////////////////////////////////////
//
// Compile options needed: -GX
//
// deque.cpp :
//
// Functions:
//
//    rbegin
//    rend
//    push_back
//
// Written by Bobby Mattappally
// of Microsoft Product Support Services,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////

/* Compile options needed:-GX
*/
#include <iostream>
#include <deque>

typedef deque<int, allocator<int> > INTDEQUE;

void main()
{

    // Create A and fill it with elements 1,2,3,4 and 5
    // using push_back function

    INTDEQUE  A;
    A.push_back(1);
    A.push_back(2);
    A.push_back(3);
    A.push_back(4);
    A.push_back(5);

    // Now print the contents in reverse order using reverse_iterator
    // and functions rbegin() and rend()

    INTDEQUE::reverse_iterator rpi;

    for(rpi= A.rbegin();  rpi !=A.rend(); rpi++)
    {
        cout << *rpi <<" " ;
    }
        cout<<endl;
}

Program Output is:

5 4 3 2 1

REFERENCES

Visual C++ Books On Line: Visual C++ Books:C/C++:Standard C++ Library Reference.


Additional query words: STL STLSample rbegin rend
reverse_iterator push_back
Keywords : STLIss kbcode
Version : WINNT:4.2;
Platform : NT WINDOWS
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 9, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.