---
name: "qstack"
section: "3qt"
platform: "linux"
package: "qt-doc"
version: "3:2.3.1-22"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/qstack"
---

# qstack(3qt)

Template class that provides a stack #include \<qstack.h\>

## NAME

QStack - Template class that provides a stack\

`#include <qstack.h>`

### Public Members

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

## DESCRIPTION

The QStack class is a template class that provides a stack.

QStack is implemented as a template class. Define a template instance QStack\<X\> to create a stack that operates on pointers to X, or 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().

See also Collection Classes

## MEMBER FUNCTION DOCUMENTATION

## QStack::QStack ()

Creates and empty stack.

## QStack::QStack ( const QStack\<type\> & s )

Creates a stack by making a shallow copy of another stack.

## QStack::~QStack ()

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

## QStack::operator type\* () const

Returns a reference to the top item on the stack (most recently pushed). The stack is not changed.

## bool QStack::autoDelete () const

The same as QCollection::autoDelete().

See also setAutoDelete().

## void QStack::clear () `[virtual]`

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

See also remove().

Reimplemented from QCollection.

## uint QStack::count () const `[virtual]`

Returns the number of items in the stack.

See also isEmpty().

Reimplemented from QCollection.

## type\* QStack::current () const

Returns a reference to the top item on the stack (most recently pushed). The stack is not changed.

## bool QStack::isEmpty () const

Returns TRUE is the stack contains no elements to be popped

## QStack\<type\>& QStack::operator= ( const QStack\<type\> & s )

Sets the contents of this stack by making a shallow copy of another stack. Elements currently in this stack will be deleted if autoDelete() is TRUE.

## type\* QStack::pop ()

Removes the top item from the stack and returns it.

## void QStack::push ( const type \* d )

Adds an element to the top of the stack. Last in, first out.

## bool QStack::remove ()

Removes the top item from the stack and deletes it if autoDelete() is TRUE. Returns TRUE if there was an item to pop.

See also clear().

## void QStack::setAutoDelete ( bool enable )

The same as QCollection::setAutoDelete().

See also autoDelete().

## type\* QStack::top () const

Returns a reference to the top item on the stack (most recently pushed). The stack is not changed.

## SEE ALSO

**http://doc.trolltech.com/qstack.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 make our job much simpler. Thank you.

In case of content or formattting problems with this manual page, please report them to **qt-bugs@trolltech.com**. Please include the name of the manual page (qstack.3qt) and the Qt version (2.3.1).
