source: trunk/src/qt3support/tools/q3ptrqueue.qdoc@ 792

Last change on this file since 792 was 651, checked in by Dmitry A. Kuminov, 15 years ago

trunk: Merged in qt 4.6.2 sources.

  • Property svn:eol-style set to native
File size: 6.3 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the documentation of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and Nokia.
15**
16** GNU Lesser General Public License Usage
17** Alternatively, this file may be used under the terms of the GNU Lesser
18** General Public License version 2.1 as published by the Free Software
19** Foundation and appearing in the file LICENSE.LGPL included in the
20** packaging of this file. Please review the following information to
21** ensure the GNU Lesser General Public License version 2.1 requirements
22** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23**
24** In addition, as a special exception, Nokia gives you certain additional
25** rights. These rights are described in the Nokia Qt LGPL Exception
26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you have questions regarding the use of this file, please contact
37** Nokia at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42/*!
43 \class Q3PtrQueue
44 \brief The Q3PtrQueue class is a template class that provides a queue.
45 \compat
46
47 Q3ValueVector can be used as an STL-compatible alternative to this
48 class.
49
50 A template instance Q3PtrQueue\<X\> is a queue that operates on
51 pointers to X (X*).
52
53 A queue is a first in, first out structure. Items are added to the
54 tail of the queue with enqueue() and retrieved from the head with
55 dequeue(). You can peek at the head item without dequeing it using
56 head().
57
58 You can control the queue's deletion policy with setAutoDelete().
59
60 For compatibility with the Q3PtrCollection classes, current() and
61 remove() are provided; both operate on the head().
62
63 \sa Q3PtrList Q3PtrStack
64*/
65
66/*!
67 \fn Q3PtrQueue::Q3PtrQueue ()
68
69 Creates an empty queue with autoDelete() set to FALSE.
70*/
71
72/*!
73 \fn Q3PtrQueue::Q3PtrQueue( const Q3PtrQueue<type>& queue )
74
75 Creates a queue from \a queue.
76
77 Only the pointers are copied; the items are not. The autoDelete()
78 flag is set to FALSE.
79*/
80
81/*!
82 \fn Q3PtrQueue::~Q3PtrQueue()
83
84 Destroys the queue. Items in the queue are deleted if autoDelete()
85 is TRUE.
86*/
87
88/*!
89 \fn Q3PtrQueue<type>& Q3PtrQueue::operator= (const Q3PtrQueue<type>& queue)
90
91 Assigns \a queue to this queue and returns a reference to this
92 queue.
93
94 This queue is first cleared and then each item in \a queue is
95 enqueued to this queue. Only the pointers are copied.
96
97 \warning The autoDelete() flag is not modified. If it is TRUE for
98 both \a queue and this queue, deleting the two lists will cause \e
99 double-deletion of the items.
100*/
101
102/*!
103 \fn bool Q3PtrQueue::isEmpty() const
104
105 Returns TRUE if the queue is empty; otherwise returns FALSE.