<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt - 3.3.8 - espenr - 2499/qt - x11 - free - 3.3.8/doc/qptrstack.doc:41 -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > TQPtrStack Class< / title >
< style type = "text/css" > < ! - -
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
-->< / style >
< / head >
< body >
< table border = "0" cellpadding = "0" cellspacing = "0" width = "100%" >
< tr bgcolor = "#E5E5E5" >
< td valign = center >
< a href = "index.html" >
< font color = "#004faf" > Home< / font > < / a >
| < a href = "classes.html" >
< font color = "#004faf" > All Classes< / font > < / a >
| < a href = "mainclasses.html" >
< font color = "#004faf" > Main Classes< / font > < / a >
| < a href = "annotated.html" >
< font color = "#004faf" > Annotated< / font > < / a >
| < a href = "groups.html" >
< font color = "#004faf" > Grouped Classes< / font > < / a >
| < a href = "functions.html" >
< font color = "#004faf" > Functions< / font > < / a >
< / td >
< td align = "right" valign = "center" > < img src = "logo32.png" align = "right" width = "64" height = "32" border = "0" > < / td > < / tr > < / table > < h1 align = center > TQPtrStack Class Reference< / h1 >
< p > The TQPtrStack class is a template class that provides a stack.
< a href = "#details" > More...< / a >
< p > < tt > #include < < a href = "qptrstack-h.html" > ntqptrstack.h< / a > > < / tt >
< p > < a href = "qptrstack-members.html" > List of all member functions.< / a >
< h2 > Public Members< / h2 >
< ul >
< li class = fn > < a href = "#TQPtrStack" > < b > TQPtrStack< / b > < / a > ()< / li >
< li class = fn > < a href = "#TQPtrStack-2" > < b > TQPtrStack< / b > < / a > ( const TQPtrStack< type> & s )< / li >
< li class = fn > < a href = "#~TQPtrStack" > < b > ~TQPtrStack< / b > < / a > ()< / li >
< li class = fn > TQPtrStack< type> & < a href = "#operator-eq" > < b > operator=< / b > < / a > ( const TQPtrStack< type> & s )< / li >
< li class = fn > bool < a href = "#autoDelete" > < b > autoDelete< / b > < / a > () const< / li >
< li class = fn > void < a href = "#setAutoDelete" > < b > setAutoDelete< / b > < / a > ( bool enable )< / li >
< li class = fn > uint < a href = "#count" > < b > count< / b > < / a > () const< / li >
< li class = fn > bool < a href = "#isEmpty" > < b > isEmpty< / b > < / a > () const< / li >
< li class = fn > void < a href = "#push" > < b > push< / b > < / a > ( const type * d )< / li >
< li class = fn > type * < a href = "#pop" > < b > pop< / b > < / a > ()< / li >
< li class = fn > bool < a href = "#remove" > < b > remove< / b > < / a > ()< / li >
< li class = fn > void < a href = "#clear" > < b > clear< / b > < / a > ()< / li >
< li class = fn > type * < a href = "#top" > < b > top< / b > < / a > () const< / li >
< li class = fn > < a href = "#operator-type-*" > < b > operator type *< / b > < / a > () const< / li >
< li class = fn > type * < a href = "#current" > < b > current< / b > < / a > () const< / li >
< / ul >
< h2 > Protected Members< / h2 >
< ul >
< li class = fn > virtual TQDataStream & < a href = "#read" > < b > read< / b > < / a > ( TQDataStream & s, TQPtrCollection::Item & item )< / li >
< li class = fn > virtual TQDataStream & < a href = "#write" > < b > write< / b > < / a > ( TQDataStream & s, TQPtrCollection::Item item ) const< / li >
< / ul >
< hr > < a name = "details" > < / a > < h2 > Detailed Description< / h2 >
The TQPtrStack class is a template class that provides a stack.
< p >
< p > < a href = "tqvaluestack.html" > TQValueStack< / a > is an STL-compatible alternative to this class.
< p > Define a template instance TQPtrStack< X> to create a stack that
operates on pointers to X, (X*).
< p > A stack is a last in, first out (LIFO) structure. Items are added
to the top of the stack with < a href = "#push" > push< / a > () and retrieved from the top
with < a href = "#pop" > pop< / a > (). Use < a href = "#top" > top< / a > () to get a reference to the top element
without changing the stack.
< p > You can control the stack's deletion policy with < a href = "#setAutoDelete" > setAutoDelete< / a > ().
< p > For compatibility with the < a href = "ntqptrcollection.html" > TQPtrCollection< / a > classes < a href = "#current" > current< / a > () and
< a href = "#remove" > remove< / a > () are provided; they both operate on the top().
< p > < p > See also < a href = "ntqptrlist.html" > TQPtrList< / a > , < a href = "ntqptrqueue.html" > TQPtrQueue< / a > , and < a href = "tools.html" > Non-GUI Classes< / a > .
< hr > < h2 > Member Function Documentation< / h2 >
< h3 class = fn > < a name = "TQPtrStack" > < / a > TQPtrStack::TQPtrStack ()
< / h3 >
< p > Creates an empty stack.
< h3 class = fn > < a name = "TQPtrStack-2" > < / a > TQPtrStack::TQPtrStack ( const < a href = "ntqptrstack.html" > TQPtrStack< / a > < type> & s )
< / h3 >
< p > Creates a stack by making a < a href = "shclass.html#shallow-copy" > shallow copy< / a > of another stack < em > s< / em > .
< h3 class = fn > < a name = "~TQPtrStack" > < / a > TQPtrStack::~TQPtrStack ()
< / h3 >
< p > Destroys the stack. All items will be deleted if < a href = "#autoDelete" > autoDelete< / a > () is
TRUE.
< h3 class = fn > bool < a name = "autoDelete" > < / a > TQPtrStack::autoDelete () const
< / h3 >
< p > The same as < a href = "ntqptrcollection.html#autoDelete" > TQPtrCollection::autoDelete< / a > ().
< p > < p > See also < a href = "#setAutoDelete" > setAutoDelete< / a > ().
< h3 class = fn > void < a name = "clear" > < / a > TQPtrStack::clear ()
< / h3 >
< p > Removes all items from the stack, deleting them if < a href = "#autoDelete" > autoDelete< / a > () is
TRUE.
< p > < p > See also < a href = "#remove" > remove< / a > ().
< h3 class = fn > uint < a name = "count" > < / a > TQPtrStack::count () const
< / h3 >
< p > Returns the number of items in the stack.
< p > < p > See also < a href = "#isEmpty" > isEmpty< / a > ().
< h3 class = fn > type * < a name = "current" > < / a > TQPtrStack::current () const
< / h3 >
< p > 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.
< h3 class = fn > bool < a name = "isEmpty" > < / a > TQPtrStack::isEmpty () const
< / h3 >
< p > Returns TRUE if the stack contains no elements; otherwise returns
FALSE.
< h3 class = fn > < a name = "operator-type-*" > < / a > TQPtrStack::operator type * () const
< / h3 >
< p > 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.
< h3 class = fn > < a href = "ntqptrstack.html" > TQPtrStack< / a > < type> & < a name = "operator-eq" > < / a > TQPtrStack::operator= ( const < a href = "ntqptrstack.html" > TQPtrStack< / a > < type> & s )
< / h3 >
< p > Sets the contents of this stack by making a < a href = "shclass.html#shallow-copy" > shallow copy< / a > of
another stack < em > s< / em > . Elements currently in this stack will be
deleted if < a href = "#autoDelete" > autoDelete< / a > () is TRUE.
< h3 class = fn > type * < a name = "pop" > < / a > TQPtrStack::pop ()
< / h3 >
< p > Removes the top item from the stack and returns it. The stack must
not be empty.
< h3 class = fn > void < a name = "push" > < / a > TQPtrStack::push ( const type * d )
< / h3 >
< p > Adds an element < em > d< / em > to the top of the stack. Last in, first out.
< h3 class = fn > < a href = "ntqdatastream.html" > TQDataStream< / a > & < a name = "read" > < / a > TQPtrStack::read ( < a href = "ntqdatastream.html" > TQDataStream< / a > & s, < a href = "ntqptrcollection.html#Item" > TQPtrCollection::Item< / a > & item )< tt > [virtual protected]< / tt >
< / h3 >
< p > Reads a stack item, < em > item< / em > , from the stream < em > s< / em > and returns a
reference to the stream.
< p > The default implementation sets < em > item< / em > to 0.
< p > < p > See also < a href = "#write" > write< / a > ().
< h3 class = fn > bool < a name = "remove" > < / a > TQPtrStack::remove ()
< / h3 >
< p > Removes the top item from the stack and deletes it if < a href = "#autoDelete" > autoDelete< / a > ()
is TRUE. Returns TRUE if there was an item to pop; otherwise
returns FALSE.
< p > < p > See also < a href = "#clear" > clear< / a > ().
< h3 class = fn > void < a name = "setAutoDelete" > < / a > TQPtrStack::setAutoDelete ( bool enable )
< / h3 >
< p > Defines whether this stack auto-deletes its contents. The same as
< a href = "ntqptrcollection.html#setAutoDelete" > TQPtrCollection::setAutoDelete< / a > ().
< p > If < em > enable< / em > is TRUE the stack auto-deletes its contents; if < em > enable< / em > is FALSE the stack does not delete its contents.
< p > < p > See also < a href = "#autoDelete" > autoDelete< / a > ().
< h3 class = fn > type * < a name = "top" > < / a > TQPtrStack::top () const
< / h3 >
< p > 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.
< h3 class = fn > < a href = "ntqdatastream.html" > TQDataStream< / a > & < a name = "write" > < / a > TQPtrStack::write ( < a href = "ntqdatastream.html" > TQDataStream< / a > & s, < a href = "ntqptrcollection.html#Item" > TQPtrCollection::Item< / a > item ) const< tt > [virtual protected]< / tt >
< / h3 >
< p > Writes a stack item, < em > item< / em > , to the stream < em > s< / em > and returns a
reference to the stream.
< p > The default implementation does nothing.
< p > < p > See also < a href = "#read" > read< / a > ().
<!-- eof -->
< hr > < p >
This file is part of the < a href = "index.html" > TQt toolkit< / a > .
Copyright © 1995-2007
< a href = "http://www.trolltech.com/" > Trolltech< / a > . All Rights Reserved.< p > < address > < hr > < div align = center >
< table width = 100% cellspacing = 0 border = 0 > < tr >
< td > Copyright © 2007
< a href = "troll.html" > Trolltech< / a > < td align = center > < a href = "trademarks.html" > Trademarks< / a >
< td align = right > < div align = right > TQt 3.3.8< / div >
< / table > < / div > < / address > < / body >
< / html >