File: qqueue.html

package info (click to toggle)
qt4-x11 4%3A4.8.2%2Bdfsg-11
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 701,696 kB
  • sloc: cpp: 2,686,179; ansic: 375,485; python: 25,859; sh: 19,349; xml: 17,091; perl: 14,765; yacc: 5,383; asm: 5,038; makefile: 1,259; lex: 555; ruby: 526; objc: 347; cs: 112; pascal: 112; php: 54; sed: 34
file content (143 lines) | stat: -rw-r--r-- 9,479 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qqueue.cpp -->
  <title>Qt 4.8: QQueue Class Reference</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="content"> 
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
  </div>
  <div class="breadcrumb toolblock">
    <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <!--  Breadcrumbs go here -->
<li><a href="modules.html">Modules</a></li>
<li><a href="qtcore.html">QtCore</a></li>
<li>QQueue</li>
    </ul>
  </div>
</div>
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QQueue Class Reference</h1>
<!-- $$$QQueue-brief -->
<p>The QQueue class is a generic container that provides a queue. <a href="#details">More...</a></p>
<!-- @@@QQueue -->
<pre class="cpp"> <span class="preprocessor">#include &lt;QQueue&gt;</span></pre><p><b>Inherits: </b><a href="qlist.html">QList&lt;T&gt;</a>.</p>
<p><b>Note:</b> All functions in this class are <a href="threads-reentrancy.html#reentrant">reentrant</a>.</p>
<ul>
<li><a href="qqueue-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h2>Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#QQueue">QQueue</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#dtor.QQueue">~QQueue</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> T </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#dequeue">dequeue</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#enqueue">enqueue</a></b> ( const T &amp; <i>t</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> T &amp; </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#head">head</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> const T &amp; </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#head-2">head</a></b> () const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qqueue.html#swap">swap</a></b> ( QQueue&lt;T&gt; &amp; <i>other</i> )</td></tr>
</table>
<ul>
<li class="fn">67 public functions inherited from <a href="qlist.html#public-functions">QList</a></li>
</ul>
<h3>Additional Inherited Members</h3>
<ul>
<li class="fn">3 static public members inherited from <a href="qlist.html#static-public-members">QList</a></li>
</ul>
<a name="details"></a>
<!-- $$$QQueue-description -->
<div class="descr">
<h2>Detailed Description</h2>
<p>The QQueue class is a generic container that provides a queue.</p>
<p>QQueue&lt;T&gt; is one of Qt's generic <a href="containers.html">container classes</a>. It implements a queue data structure for items of a same type.</p>
<p>A queue is a first in, first out (FIFO) structure. Items are added to the tail of the queue using <a href="qqueue.html#enqueue">enqueue</a>() and retrieved from the head using <a href="qqueue.html#dequeue">dequeue</a>(). The <a href="qqueue.html#head">head</a>() function provides access to the head item without removing it.</p>
<p>Example:</p>
<pre class="cpp"> <span class="type">QQueue</span><span class="operator">&lt;</span><span class="type">int</span><span class="operator">&gt;</span> queue;
 queue<span class="operator">.</span><a href="qqueue.html#enqueue">enqueue</a>(<span class="number">1</span>);
 queue<span class="operator">.</span><a href="qqueue.html#enqueue">enqueue</a>(<span class="number">2</span>);
 queue<span class="operator">.</span><a href="qqueue.html#enqueue">enqueue</a>(<span class="number">3</span>);
 <span class="keyword">while</span> (<span class="operator">!</span>queue<span class="operator">.</span>isEmpty())
     cout <span class="operator">&lt;</span><span class="operator">&lt;</span> queue<span class="operator">.</span><a href="qqueue.html#dequeue">dequeue</a>() <span class="operator">&lt;</span><span class="operator">&lt;</span> endl;</pre>
<p>The example will output 1, 2, 3 in that order.</p>
<p>QQueue inherits from <a href="qlist.html">QList</a>. All of <a href="qlist.html">QList</a>'s functionality also applies to QQueue. For example, you can use <a href="qlist.html#isEmpty">isEmpty</a>() to test whether the queue is empty, and you can traverse a QQueue using <a href="qlist.html">QList</a>'s iterator classes (for example, <a href="qlistiterator.html">QListIterator</a>). But in addition, QQueue provides three convenience functions that make it easy to implement FIFO semantics: <a href="qqueue.html#enqueue">enqueue</a>(), <a href="qqueue.html#dequeue">dequeue</a>(), and <a href="qqueue.html#head">head</a>().</p>
<p>QQueue's value type must be an <a href="containers.html#assignable-data-type">assignable data type</a>. This covers most data types that are commonly used, but the compiler won't let you, for example, store a <a href="qwidget.html">QWidget</a> as a value. Use <a href="qwidget.html">QWidget</a>* instead.</p>
</div>
<p><b>See also </b><a href="qlist.html">QList</a> and <a href="qstack.html">QStack</a>.</p>
<!-- @@@QQueue -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QQueue[overload1]$$$QQueue -->
<h3 class="fn"><a name="QQueue"></a>QQueue::<span class="name">QQueue</span> ()</h3>
<p>Constructs an empty queue.</p>
<!-- @@@QQueue -->
<!-- $$$~QQueue[overload1]$$$~QQueue -->
<h3 class="fn"><a name="dtor.QQueue"></a>QQueue::<span class="name">~QQueue</span> ()</h3>
<p>Destroys the queue. References to the values in the queue, and all iterators over this queue, become invalid.</p>
<!-- @@@~QQueue -->
<!-- $$$dequeue[overload1]$$$dequeue -->
<h3 class="fn"><a name="dequeue"></a><span class="type">T</span> QQueue::<span class="name">dequeue</span> ()</h3>
<p>Removes the head item in the queue and returns it. This function assumes that the queue isn't empty.</p>
<p>This is the same as <a href="qlist.html#takeFirst">QList::takeFirst</a>().</p>
<p><b>See also </b><a href="qqueue.html#head">head</a>(), <a href="qqueue.html#enqueue">enqueue</a>(), and <a href="qlist.html#isEmpty">isEmpty</a>().</p>
<!-- @@@dequeue -->
<!-- $$$enqueue[overload1]$$$enqueueconstT& -->
<h3 class="fn"><a name="enqueue"></a><span class="type">void</span> QQueue::<span class="name">enqueue</span> ( const <span class="type">T</span> &amp; <i>t</i> )</h3>
<p>Adds value <i>t</i> to the tail of the queue.</p>
<p>This is the same as <a href="qlist.html#append">QList::append</a>().</p>
<p><b>See also </b><a href="qqueue.html#dequeue">dequeue</a>() and <a href="qqueue.html#head">head</a>().</p>
<!-- @@@enqueue -->
<!-- $$$head[overload1]$$$head -->
<h3 class="fn"><a name="head"></a><span class="type">T</span> &amp; QQueue::<span class="name">head</span> ()</h3>
<p>Returns a reference to the queue's head item. This function assumes that the queue isn't empty.</p>
<p>This is the same as <a href="qlist.html#first">QList::first</a>().</p>
<p><b>See also </b><a href="qqueue.html#dequeue">dequeue</a>(), <a href="qqueue.html#enqueue">enqueue</a>(), and <a href="qlist.html#isEmpty">isEmpty</a>().</p>
<!-- @@@head -->
<!-- $$$head$$$head -->
<h3 class="fn"><a name="head-2"></a>const <span class="type">T</span> &amp; QQueue::<span class="name">head</span> () const</h3>
<p>This is an overloaded function.</p>
<!-- @@@head -->
<!-- $$$swap[overload1]$$$swapQQueue<T>& -->
<h3 class="fn"><a name="swap"></a><span class="type">void</span> QQueue::<span class="name">swap</span> ( <span class="type">QQueue</span>&lt;<span class="type">T</span>&gt; &amp; <i>other</i> )</h3>
<p>Swaps queue <i>other</i> with this queue. This operation is very fast and never fails.</p>
<p>This function was introduced in Qt 4.8.</p>
<!-- @@@swap -->
</div>
  <div class="ft">
    <span></span>
  </div>
</div> 
<div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2012 Nokia Corporation and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Nokia, Qt and their respective logos are trademarks of Nokia Corporation 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>