主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
QPtrQueue类参考
QPtrQueue类是一个提供队列的模板类。 详情请见……
#include <qptrqueue.h>
公有成员
- QPtrQueue ()
- QPtrQueue ( const QPtrQueue<type> & queue )
- ~QPtrQueue ()
- QPtrQueue<type> & operator= ( const QPtrQueue<type> & queue )
- bool autoDelete () const
- void setAutoDelete ( bool enable )
- uint count () const
- bool isEmpty () const
- void enqueue ( const type * d )
- type * dequeue ()
- bool remove ()
- void clear ()
- type * head () const
- operator type * () const
- type * current () const
保护成员
- virtual QDataStream & read ( QDataStream & s, QPtrCollection::Item & item )
- virtual QDataStream & write ( QDataStream & s, QPtrCollection::Item item ) const
详细描述
QPtrQueue类是一个提供队列的模板类。
QValueVector是可以替代这个类的的一个可兼容STL的的选择。
定义一个模板实例QPtrQueue<X>就创建了一个操作X(X*)指针的队列。
队列就是先进先出的结构。可以通过enqueue()把项添加到队列末尾并且可以通过dequeue()从队列开始处重新得到项。你可以使用head()来查看头项而不用把它从队列中拿出来。
你可以用setAutoDelete()来控制队列删除策略。
为了兼容QPtrCollection类,current()和remove()都被提供,两个都基于head()操作。
也可以参考QPtrList、QPtrStack、集合类和非GUI类。
成员函数文档
QPtrQueue::QPtrQueue ()
创建一个autoDelete()被设置为假的空队列。QPtrQueue::QPtrQueue ( const QPtrQueue<type> & queue )
从queue创建一个队列。只有指针被复制,项没有被复制。autoDelete()标记被设置为假。
QPtrQueue::~QPtrQueue ()
销毁这个队列。如果autoDelete()为真,队列中的项被删除。
bool QPtrQueue::autoDelete () const
返回自动删除选项的设置。默认为假。
也可以参考setAutoDelete()。
void QPtrQueue::clear ()
从队列中移除所有项,并且如果autoDelete()为真,就删除它们。
也可以参考remove()。
uint QPtrQueue::count () const
返回队列中项的数量。
也可以参考isEmpty()。
type * QPtrQueue::current () const
返回队列中头项的引用。队列没有被改变。
type * QPtrQueue::dequeue ()
从队列中得到头项并且返回它的指针。
void QPtrQueue::enqueue ( const type * d )
把项d添加到队列末尾。
type * QPtrQueue::head () const
返回队列中头项的引用。队列没有被改变。
bool QPtrQueue::isEmpty () const
如果队列是空的,返回真,否则返回假。
也可以参考count()、dequeue()和head()。
QPtrQueue::operator type * () const
返回队列中头项的引用。队列没有被改变。
QPtrQueue<type> & QPtrQueue::operator= ( const QPtrQueue<type> & queue )
把queue赋值给这个队列并且返回这个队列的引用。
这个队列首先被清空并且然后queue中的每一个项都被添加到这个队列中。只有指针被复制。
注意autoDelete()标记没有被修改。如果queue和这个队列中都设置为真,删除这个两个队列将导致对项双重删除。
QDataStream & QPtrQueue::read ( QDataStream & s, QPtrCollection::Item & item ) [virtual protected]
从流s读取一个队列项item并且返回流的引用。
默认实现是设置item为0。
也可以参考write()。
bool QPtrQueue::remove ()
从队列中移除头项并且如果队列中还有项返回真,或者如果队列空了返回假。
如果autoDelete()为真,就删除这个项。
也可以参考head()、isEmpty()和dequeue()。
void QPtrQueue::setAutoDelete ( bool enable )
如果enable为真,设置队列自动删除它的内容并且如果enable为假,就不删除它们。
如果自动删除被打开,当队列被删除时,队列中的所有项都会被删除。如果队列拥有项的唯一指针,这个将是非常方便的。
为了安全,默认设置为假。如果你把它打开,在复制队列时请注意。你也许会发现你自己的两个队列删除相同的项。
也可以参考autoDelete()。
QDataStream & QPtrQueue::write ( QDataStream & s, QPtrCollection::Item item ) const [virtual protected]
写一个队列项item到流s中并且返回流的引用。
默认实现是不做任何事。
也可以参考read()。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|