Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Q3PtrStack Class Reference
[Qt3Support module]

The Q3PtrStack class is a template class that provides a stack. More...

#include <Q3PtrStack>

This class is part of the Qt 3 support library. It is provided to keep old source code working. We strongly advise against using it in new code. See Porting to Qt 4 for more information.

Inherits Q3PtrCollection.

Public Functions

Protected Functions


Detailed Description

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

Q3ValueStack is an STL-compatible alternative to this class.

Define a template instance Q3PtrStack<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 Q3PtrCollection classes current() and remove() are provided; they both operate on the top().

See also Q3PtrList and Q3PtrQueue.


Member Function Documentation

Q3PtrStack::Q3PtrStack ()

Creates an empty stack.

Q3PtrStack::Q3PtrStack ( const Q3PtrStack<type> & s )

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

Q3PtrStack::~Q3PtrStack ()

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

bool Q3PtrStack::autoDelete () const

The same as Q3PtrCollection::autoDelete().

See also setAutoDelete().

void Q3PtrStack::clear ()   [virtual]

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

Reimplemented from Q3PtrCollection.

See also remove().

uint Q3PtrStack::count () const   [virtual]

Returns the number of items in the stack.

Reimplemented from Q3PtrCollection.

See also isEmpty().

type * Q3PtrStack::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 Q3PtrStack::isEmpty () const

Returns TRUE if the stack contains no elements; otherwise returns FALSE.

type * Q3PtrStack::pop ()

Removes the top item from the stack and returns it. The stack must not be empty.

void Q3PtrStack::push ( const type * d )

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

QDataStream & Q3PtrStack::read ( QDataStream & s, Q3PtrCollection::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 Q3PtrStack::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 Q3PtrStack::setAutoDelete ( bool enable )

Defines whether this stack auto-deletes its contents. The same as Q3PtrCollection::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 * Q3PtrStack::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 & Q3PtrStack::write ( QDataStream & s, Q3PtrCollection::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().

Q3PtrStack::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.

Q3PtrStack<type> & Q3PtrStack::operator= ( const Q3PtrStack<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.


Copyright © 2006 Trolltech Trademarks
Qt 4.1.3