SourcePro® C++ API Reference Guide

Product Documentation:
   SourcePro C++
Documentation Home
List of all members | Public Member Functions
RWTStack< T, C > Class Template Reference

Maintains a stack of values. More...

#include <rw/tstack.h>

Public Member Functions

 RWTStack ()
 
 RWTStack (const C &rhs)
 
 RWTStack (const RWTStack &rhs)
 
 RWTStack (C &&rhs)
 
 RWTStack (RWTStack &&rhs)
 
void clear ()
 
size_t entries () const
 
bool isEmpty () const
 
RWTStackoperator= (const RWTStack &rhs)
 
RWTStackoperator= (RWTStack &&rhs)
 
pop ()
 
void push (const T &a)
 
void push (T &&a)
 
void swap (RWTStack< T, C > &rhs)
 
top () const
 

Detailed Description

template<class T, class C>
class RWTStack< T, C >

Class RWTStack maintains a stack of values. Not only can the type of object inserted onto the stack be parameterized, but also the implementation of the stack.

Parameter T represents the type of object in the stack, either a class or built-in type. Class T must have:

Parameter C represents the class used for implementation. The class C must provide the following interface (or equivalent):

These methods must behave in a manner that is consistent with that of RWTValDlist for this class to function as intended.

Useful choices for C are RWTValDlist or RWTValOrderedVector. Singly- linked list classes, such as RWTValSlist, can also be used, but tend to be less efficient at removing the last item.

Synopsis
#include <rw/tstack.h>
Persistence
None
Example
#include <iostream>
#include <rw/tstack.h>
#include <rw/tvordvec.h>
int main()
{
stack.push(1);
stack.push(5);
stack.push(6);
while (!stack.isEmpty()) {
std::cout << stack.pop() << "\n";
}
return 0;
}

Program output:

6
5
1

Constructor & Destructor Documentation

template<class T, class C>
RWTStack< T, C >::RWTStack ( )
inline

Constructs a stack.

template<class T, class C>
RWTStack< T, C >::RWTStack ( const C &  rhs)
inlineexplicit

Constructs a stack from the container rhs.

template<class T, class C>
RWTStack< T, C >::RWTStack ( const RWTStack< T, C > &  rhs)
inline

Copy constructor. Constructs self as a copy of rhs.

template<class T, class C>
RWTStack< T, C >::RWTStack ( C &&  rhs)
inlineexplicit

Move constructor. Takes ownership of the data owned by rhs.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
RWTStack< T, C >::RWTStack ( RWTStack< T, C > &&  rhs)
inline

Move constructor. Takes ownership of the data owned by rhs.

Condition:
This method is only available on platforms with rvalue reference support.

Member Function Documentation

template<class T, class C>
void RWTStack< T, C >::clear ( void  )
inline

Calls C::clear() on the underlying container.

template<class T, class C>
size_t RWTStack< T, C >::entries ( void  ) const
inline

Returns the result of calling C::entries() on the underlying container.

template<class T, class C>
bool RWTStack< T, C >::isEmpty ( ) const
inline

Returns the result of calling C::isEmpty() on the underlying container.

template<class T, class C>
RWTStack& RWTStack< T, C >::operator= ( const RWTStack< T, C > &  rhs)
inline

Assignment operator. Sets self to a copy of rhs.

template<class T, class C>
RWTStack& RWTStack< T, C >::operator= ( RWTStack< T, C > &&  rhs)
inline

Move assignment. Takes ownership of the data owned by rhs.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
T RWTStack< T, C >::pop ( )
inline

Returns the result of calling C::removeLast() on the underlying container.

template<class T, class C>
void RWTStack< T, C >::push ( const T &  a)
inline

Calls C::append(a) on the underlying container.

template<class T, class C>
void RWTStack< T, C >::push ( T &&  a)
inline

Calls C::append(a) on the underlying container.

Condition:
This method is only available on platforms with rvalue reference support.
template<class T, class C>
void RWTStack< T, C >::swap ( RWTStack< T, C > &  rhs)
inline

Swaps the data owned by self with the data owned by rhs.

template<class T, class C>
T RWTStack< T, C >::top ( ) const
inline

Returns the result of calling C::last() on the underlying container.

Copyright © 2016 Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.