<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > TQPtrQueue 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 > TQPtrQueue Class Reference< / h1 >
< p > The TQPtrQueue class is a template class that provides a queue.
< a href = "#details" > More...< / a >
< p > < tt > #include < < a href = "tqptrqueue-h.html" > tqptrqueue.h< / a > > < / tt >
< p > < a href = "tqptrqueue-members.html" > List of all member functions.< / a >
< h2 > Public Members< / h2 >
< ul >
< li class = fn > < a href = "#TQPtrQueue" > < b > TQPtrQueue< / b > < / a > ()< / li >
< li class = fn > < a href = "#TQPtrQueue-2" > < b > TQPtrQueue< / b > < / a > ( const TQPtrQueue< type> & queue )< / li >
< li class = fn > < a href = "#~TQPtrQueue" > < b > ~TQPtrQueue< / b > < / a > ()< / li >
< li class = fn > TQPtrQueue< type> & < a href = "#operator-eq" > < b > operator=< / b > < / a > ( const TQPtrQueue< type> & queue )< / 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 = "#enqueue" > < b > enqueue< / b > < / a > ( const type * d )< / li >
< li class = fn > type * < a href = "#dequeue" > < b > dequeue< / 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 = "#head" > < b > head< / 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 TQPtrQueue class is a template class that provides a queue.
< p >
< p > < a href = "tqvaluevector.html" > TQValueVector< / a > can be used as an STL-compatible alternative to this
class.
< p > A template instance TQPtrQueue< X> is a queue that operates on
pointers to X (X*).
< p > A queue is a first in, first out structure. Items are added to the
tail of the queue with < a href = "#enqueue" > enqueue< / a > () and retrieved from the head with
< a href = "#dequeue" > dequeue< / a > (). You can peek at the head item without dequeing it using
< a href = "#head" > head< / a > ().
< p > You can control the queue's deletion policy with < a href = "#setAutoDelete" > setAutoDelete< / a > ().
< p > For compatibility with the < a href = "tqptrcollection.html" > TQPtrCollection< / a > classes, < a href = "#current" > current< / a > () and
< a href = "#remove" > remove< / a > () are provided; both operate on the head().
< p > < p > See also < a href = "tqptrlist.html" > TQPtrList< / a > , < a href = "tqptrstack.html" > TQPtrStack< / a > , < a href = "collection.html" > Collection Classes< / a > , and < a href = "tools.html" > Non-GUI Classes< / a > .
< hr > < h2 > Member Function Documentation< / h2 >
< h3 class = fn > < a name = "TQPtrQueue" > < / a > TQPtrQueue::TQPtrQueue ()
< / h3 >
< p > Creates an empty queue with < a href = "#autoDelete" > autoDelete< / a > () set to FALSE.
< h3 class = fn > < a name = "TQPtrQueue-2" > < / a > TQPtrQueue::TQPtrQueue ( const < a href = "tqptrqueue.html" > TQPtrQueue< / a > < type> & queue )
< / h3 >
< p > Creates a queue from < em > queue< / em > .
< p > Only the pointers are copied; the items are not. The < a href = "#autoDelete" > autoDelete< / a > ()
flag is set to FALSE.
< h3 class = fn > < a name = "~TQPtrQueue" > < / a > TQPtrQueue::~TQPtrQueue ()
< / h3 >
< p > Destroys the queue. Items in the queue are deleted if < a href = "#autoDelete" > autoDelete< / a > ()
is TRUE.
< h3 class = fn > bool < a name = "autoDelete" > < / a > TQPtrQueue::autoDelete () const
< / h3 >
< p > Returns the setting of the auto-delete option. The default is
FALSE.
< p > < p > See also < a href = "#setAutoDelete" > setAutoDelete< / a > ().
< h3 class = fn > void < a name = "clear" > < / a > TQPtrQueue::clear ()
< / h3 >
< p > Removes all items from the queue, and deletes 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 > TQPtrQueue::count () const
< / h3 >
< p > Returns the number of items in the queue.
< p > < p > See also < a href = "#isEmpty" > isEmpty< / a > ().
< h3 class = fn > type * < a name = "current" > < / a > TQPtrQueue::current () const
< / h3 >
< p > Returns a pointer to the head item in the queue. The queue is not
changed. Returns 0 if the queue is empty.
< p > < p > See also < a href = "#dequeue" > dequeue< / a > () and < a href = "#isEmpty" > isEmpty< / a > ().
< h3 class = fn > type * < a name = "dequeue" > < / a > TQPtrQueue::dequeue ()
< / h3 >
< p > Takes the head item from the queue and returns a pointer to it.
Returns 0 if the queue is empty.
< p > < p > See also < a href = "#enqueue" > enqueue< / a > () and < a href = "#count" > count< / a > ().
< h3 class = fn > void < a name = "enqueue" > < / a > TQPtrQueue::enqueue ( const type * d )
< / h3 >
< p > Adds item < em > d< / em > to the tail of the queue.
< p > < p > See also < a href = "#count" > count< / a > () and < a href = "#dequeue" > dequeue< / a > ().
< h3 class = fn > type * < a name = "head" > < / a > TQPtrQueue::head () const
< / h3 >
< p > Returns a pointer to the head item in the queue. The queue is not
changed. Returns 0 if the queue is empty.
< p > < p > See also < a href = "#dequeue" > dequeue< / a > () and < a href = "#isEmpty" > isEmpty< / a > ().
< h3 class = fn > bool < a name = "isEmpty" > < / a > TQPtrQueue::isEmpty () const
< / h3 >
< p > Returns TRUE if the queue is empty; otherwise returns FALSE.
< p > < p > See also < a href = "#count" > count< / a > (), < a href = "#dequeue" > dequeue< / a > (), and < a href = "#head" > head< / a > ().
< h3 class = fn > < a name = "operator-type-*" > < / a > TQPtrQueue::operator type * () const
< / h3 >
< p > Returns a pointer to the head item in the queue. The queue is not
changed. Returns 0 if the queue is empty.
< p > < p > See also < a href = "#dequeue" > dequeue< / a > () and < a href = "#isEmpty" > isEmpty< / a > ().
< h3 class = fn > < a href = "tqptrqueue.html" > TQPtrQueue< / a > < type> & < a name = "operator-eq" > < / a > TQPtrQueue::operator= ( const < a href = "tqptrqueue.html" > TQPtrQueue< / a > < type> & queue )
< / h3 >
< p > Assigns < em > queue< / em > to this queue and returns a reference to this
queue.
< p > This queue is first cleared and then each item in < em > queue< / em > is
enqueued to this queue. Only the pointers are copied.
< p > < b > Warning:< / b > The < a href = "#autoDelete" > autoDelete< / a > () flag is not modified. If it it TRUE for
both < em > queue< / em > and this queue, deleting the two lists will cause < em > double-deletion< / em > of the items.
< h3 class = fn > < a href = "tqdatastream.html" > TQDataStream< / a > & < a name = "read" > < / a > TQPtrQueue::read ( < a href = "tqdatastream.html" > TQDataStream< / a > & s, < a href = "tqptrcollection.html#Item" > TQPtrCollection::Item< / a > & item )< tt > [virtual protected]< / tt >
< / h3 >
< p > Reads a queue 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 > TQPtrQueue::remove ()
< / h3 >
< p > Removes the head item from the queue, and returns TRUE if there
was an item, i.e. the queue wasn't empty; otherwise returns FALSE.
< p > The item is deleted if < a href = "#autoDelete" > autoDelete< / a > () is TRUE.
< p > < p > See also < a href = "#head" > head< / a > (), < a href = "#isEmpty" > isEmpty< / a > (), and < a href = "#dequeue" > dequeue< / a > ().
< h3 class = fn > void < a name = "setAutoDelete" > < / a > TQPtrQueue::setAutoDelete ( bool enable )
< / h3 >
< p > Sets the queue to auto-delete its contents if < em > enable< / em > is TRUE
and not to delete them if < em > enable< / em > is FALSE.
< p > If auto-deleting is turned on, all the items in a queue are
deleted when the queue itself is deleted. This can be quite
convenient if the queue has the only pointer to the items.
< p > The default setting is FALSE, for safety. If you turn it on, be
careful about copying the queue: you might find yourself with two
queues deleting the same items.
< p > < p > See also < a href = "#autoDelete" > autoDelete< / a > ().
< h3 class = fn > < a href = "tqdatastream.html" > TQDataStream< / a > & < a name = "write" > < / a > TQPtrQueue::write ( < a href = "tqdatastream.html" > TQDataStream< / a > & s, < a href = "tqptrcollection.html#Item" > TQPtrCollection::Item< / a > item ) const< tt > [virtual protected]< / tt >
< / h3 >
< p > Writes a queue 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 >