QPtrStack(3qt)

NAME
QPtrStack - Template class that provides a stack

SYNOPSIS
#include <qptrstack.h>

  Public Members
QPtrStack ()
QPtrStack ( const QPtrStack<type> & s )
~QPtrStack ()
QPtrStack<type> & operator= ( const QPtrStack<type> & s )
bool autoDelete () const
void setAutoDelete ( bool enable )
uint count () const
bool isEmpty () const
void push ( const type * d )
type * pop ()
bool remove ()
void clear ()
type * top () const
operator type * () const
type * current () const

  Protected Members
virtual QDataStream & read ( QDataStream & s, QPtrCollection::Item & item )
virtual QDataStream & write ( QDataStream & s, QPtrCollection::Item item ) const

DESCRIPTION
The QPtrStack class is a template class that provides a stack.

QValueStack is an STL-compatible alternative to this class.

Define a template instance QPtrStack<X> to create a stack that operates on pointers to X, (X*).

A stack is a last in, first out (LIFO) structure. Items are added to the top of the stack with push() and retrieved from the top with pop(). Use top() to get a reference to the top element without changing the stack.

You can control the stack's deletion policy with setAutoDelete().

For compatibility with the QPtrCollection classes current() and remove() are provided; they both operate on the top().

See also QPtrList, QPtrQueue, and Non-GUI Classes.

MEMBER FUNCTION DOCUMENTATION

QPtrStack::QPtrStack ()
Creates an empty stack.

QPtrStack::QPtrStack ( const QPtrStack<type> & s )
Creates a stack by making a shallow copy of another stack s.

QPtrStack::~QPtrStack ()
Destroys the stack. All items will be deleted if autoDelete() is TRUE.

bool QPtrStack::autoDelete () const
The same as QPtrCollection::autoDelete().

See also setAutoDelete().

void QPtrStack::clear ()
Removes all items from the stack, deleting them if autoDelete() is TRUE.

See also remove().

uint QPtrStack::count () const
Returns the number of items in the stack.

See also isEmpty().

type * QPtrStack::current () const
Returns a pointer to the top item on the stack (most recently pushed). The stack is not changed. Returns 0 if the stack is empty.

bool QPtrStack::isEmpty () const
Returns TRUE is the stack contains no elements; otherwise returns FALSE.

QPtrStack::operator type * () const
Returns a pointer to the top item on the stack (most recently pushed). The stack is not changed. Returns 0 if the stack is empty.

QPtrStack<type> & QPtrStack::operator= ( const QPtrStack<type> & s )
Sets the contents of this stack by making a shallow copy of another stack s. Elements currently in this stack will be deleted if autoDelete() is TRUE.

type * QPtrStack::pop ()
Removes the top item from the stack and returns it. The stack must not be empty.

void QPtrStack::push ( const type * d )
Adds an element d to the top of the stack. Last in, first out.

QDataStream & QPtrStack::read ( QDataStream & s, QPtrCollection::Item & item ) [virtual protected]
Reads a stack item, item, from the stream s and returns a reference to the stream.

The default implementation sets item to 0.

See also write().

bool QPtrStack::remove ()
Removes the top item from the stack and deletes it if autoDelete() is TRUE. Returns TRUE if there was an item to pop; otherwise returns FALSE.

See also clear().

void QPtrStack::setAutoDelete ( bool enable )
Defines whether this stack auto-deletes its contents. The same as QPtrCollection::setAutoDelete().

If enable is TRUE the stack auto-deletes its contents; if enable is FALSE the stack does not delete its contents.

See also autoDelete().

type * QPtrStack::top () const
Returns a pointer to the top item on the stack (most recently pushed). The stack is not changed. Returns 0 if the stack is empty.

QDataStream & QPtrStack::write ( QDataStream & s, QPtrCollection::Item item ) const [virtual protected]
Writes a stack item, item, to the stream s and returns a reference to the stream.

The default implementation does nothing.

See also read().

SEE ALSO
http://doc.trolltech.com/qptrstack.html http://www.trolltech.com/faq/tech.html

COPYRIGHT
Copyright 1992-2001 Trolltech AS, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.

AUTHOR
Generated automatically from the source code.

BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qptrstack.3) and the Qt version (3.1.2).