summaryrefslogtreecommitdiffstats
path: root/doc/html/qptrstack.html
blob: d9077020765925c5bc2a7d307d6fdc0791799f70 (plain)
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!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>QPtrStack 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&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;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>QPtrStack Class Reference</h1>

<p>The QPtrStack class is a template class that provides a stack.
<a href="#details">More...</a>
<p><tt>#include &lt;<a href="qptrstack-h.html">qptrstack.h</a>&gt;</tt>
<p><a href="qptrstack-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn><a href="#QPtrStack"><b>QPtrStack</b></a> ()</li>
<li class=fn><a href="#QPtrStack-2"><b>QPtrStack</b></a> ( const&nbsp;QPtrStack&lt;type&gt;&nbsp;&amp;&nbsp;s )</li>
<li class=fn><a href="#~QPtrStack"><b>~QPtrStack</b></a> ()</li>
<li class=fn>QPtrStack&lt;type&gt; &amp; <a href="#operator-eq"><b>operator=</b></a> ( const&nbsp;QPtrStack&lt;type&gt;&nbsp;&amp;&nbsp;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&nbsp;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&nbsp;type&nbsp;*&nbsp;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 QDataStream &amp; <a href="#read"><b>read</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;&amp;&nbsp;item )</li>
<li class=fn>virtual QDataStream &amp; <a href="#write"><b>write</b></a> ( QDataStream&nbsp;&amp;&nbsp;s, QPtrCollection::Item&nbsp;item ) const</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>


The QPtrStack class is a template class that provides a stack.
<p> 
<p> <a href="qvaluestack.html">QValueStack</a> is an STL-compatible alternative to this class.
<p> Define a template instance QPtrStack&lt;X&gt; 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="qptrcollection.html">QPtrCollection</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="qptrlist.html">QPtrList</a>, <a href="qptrqueue.html">QPtrQueue</a>, and <a href="tools.html">Non-GUI Classes</a>.

<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a name="QPtrStack"></a>QPtrStack::QPtrStack ()
</h3>

<p> Creates an empty stack.

<h3 class=fn><a name="QPtrStack-2"></a>QPtrStack::QPtrStack ( const&nbsp;<a href="qptrstack.html">QPtrStack</a>&lt;type&gt;&nbsp;&amp;&nbsp;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="~QPtrStack"></a>QPtrStack::~QPtrStack ()
</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>QPtrStack::autoDelete () const
</h3>

<p> The same as <a href="qptrcollection.html#autoDelete">QPtrCollection::autoDelete</a>().
<p> <p>See also <a href="#setAutoDelete">setAutoDelete</a>().

<h3 class=fn>void <a name="clear"></a>QPtrStack::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>QPtrStack::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>QPtrStack::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>QPtrStack::isEmpty () const
</h3>

<p> Returns TRUE if the stack contains no elements; otherwise returns
FALSE.

<h3 class=fn><a name="operator-type-*"></a>QPtrStack::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="qptrstack.html">QPtrStack</a>&lt;type&gt;&nbsp;&amp; <a name="operator-eq"></a>QPtrStack::operator= ( const&nbsp;<a href="qptrstack.html">QPtrStack</a>&lt;type&gt;&nbsp;&amp;&nbsp;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>QPtrStack::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>QPtrStack::push ( const&nbsp;type&nbsp;*&nbsp;d )
</h3>

<p> Adds an element <em>d</em> to the top of the stack. Last in, first out.

<h3 class=fn><a href="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="read"></a>QPtrStack::read ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;&amp;&nbsp;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>QPtrStack::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>QPtrStack::setAutoDelete ( bool&nbsp;enable )
</h3>

<p> Defines whether this stack auto-deletes its contents. The same as
<a href="qptrcollection.html#setAutoDelete">QPtrCollection::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>QPtrStack::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="qdatastream.html">QDataStream</a>&nbsp;&amp; <a name="write"></a>QPtrStack::write ( <a href="qdatastream.html">QDataStream</a>&nbsp;&amp;&nbsp;s, <a href="qptrcollection.html#Item">QPtrCollection::Item</a>&nbsp;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">Qt toolkit</a>.
Copyright &copy; 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 &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>Qt 3.3.8</div>
</table></div></address></body>
</html>