SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Maintains a stack of values. More...
#include <rw/tstack.h>
Public Member Functions | |
RWTStack () | |
RWTStack (const RWTStack &rhs) | |
RWTStack (RWTStack &&rhs) | |
RWTStack & | operator= (const RWTStack &rhs) |
RWTStack & | operator= (RWTStack &&rhs) |
void | clear () |
size_t | entries () const |
bool | isEmpty () const |
void | push (const T &a) |
void | push (T &&a) |
T | pop () |
T | top () const |
void | swap (RWTStack< T, C > &rhs) |
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:
T::T(const T&)
or equivalent)T::operator=(const T&)
or equivalent)C
.Parameter C
represents the class used for implementation. Useful choices are RWTValOrderedVector<T,A> or RWTValDlist<T,A>. Class RWTValSlist<T,A> can also be used, but note that singly-linked lists are less efficient at removing the last item of a list (function pop()), because of the necessity of searching the list for the next-to-the-last item.
#include <rw/tstack.h> RWTStack<T, C> stack;
None
#include <iostream> #include <rw/tstack.h> #include <rw/tvordvec.h> int main() { RWTStack<int, RWTValOrderedVector<int> > stack; stack.push(1); stack.push(5); stack.push(6); while (!stack.isEmpty()) std::cout << stack.pop() << "\n"; return 0; }
Program output:
6 5 1
Copy constructor. Constructs self as a copy of rhs.
Move constructor. Takes ownership of the data owned by rhs.
void RWTStack< T, C >::clear | ( | void | ) | [inline] |
Removes all items from the stack.
size_t RWTStack< T, C >::entries | ( | void | ) | const [inline] |
Returns the number of items currently on the stack.
bool RWTStack< T, C >::isEmpty | ( | ) | const [inline] |
Returns true
if there are currently no items on the stack, otherwise false
.
RWTStack& RWTStack< T, C >::operator= | ( | RWTStack< T, C > && | rhs | ) | [inline] |
Move assignment. Takes ownership of the data owned by rhs.
RWTStack& RWTStack< T, C >::operator= | ( | const RWTStack< T, C > & | rhs | ) | [inline] |
Assignment operator. Sets self to a copy of rhs.
T RWTStack< T, C >::pop | ( | ) | [inline] |
Pops (removes and returns) the item at the top of the stack.
RWBoundsErr | Thrown if there are no items on the stack. |
void RWTStack< T, C >::push | ( | T && | a | ) | [inline] |
Pushes the item a onto the top of the stack.
void RWTStack< T, C >::push | ( | const T & | a | ) | [inline] |
Pushes the item a onto the top of the stack.
Swaps the data owned by self with the data owned by rhs.
T RWTStack< T, C >::top | ( | ) | const [inline] |
Returns (but does not remove) the item at the top of the stack.
© Copyright 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.
Contact Rogue Wave about documentation or support issues.