summaryrefslogtreecommitdiffstats
path: root/doc/html/qmapiterator.html
blob: c01c59102b8673525fcdb281bcd70a6f042f616b (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
<!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/qmap.doc:604 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TQMapIterator 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>TQMapIterator Class Reference</h1>

<p>The TQMapIterator class provides an iterator for TQMap.
<a href="#details">More...</a>
<p><tt>#include &lt;<a href="qmap-h.html">ntqmap.h</a>&gt;</tt>
<p><a href="qmapiterator-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn>typedef std::bidirectional_iterator_tag&nbsp;<a href="#iterator_category"><b>iterator_category</b></a></li>
<li class=fn>typedef T&nbsp;<a href="#value_type"><b>value_type</b></a></li>
<li class=fn>typedef T&nbsp;*&nbsp;<a href="#pointer"><b>pointer</b></a></li>
<li class=fn>typedef T&nbsp;&amp;&nbsp;<a href="#reference"><b>reference</b></a></li>
<li class=fn><a href="#TQMapIterator"><b>TQMapIterator</b></a> ()</li>
<li class=fn><a href="#TQMapIterator-2"><b>TQMapIterator</b></a> ( TQMapNode&lt;K,&nbsp;T&gt;&nbsp;*&nbsp;p )</li>
<li class=fn><a href="#TQMapIterator-3"><b>TQMapIterator</b></a> ( const&nbsp;TQMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )</li>
<li class=fn>bool <a href="#operator-eq-eq"><b>operator==</b></a> ( const&nbsp;TQMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
<li class=fn>bool <a href="#operator!-eq"><b>operator!=</b></a> ( const&nbsp;TQMapIterator&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const</li>
<li class=fn>T &amp; <a href="#operator*"><b>operator*</b></a> ()</li>
<li class=fn>const T &amp; <a href="#operator*-2"><b>operator*</b></a> () const</li>
<li class=fn>const K &amp; <a href="#key"><b>key</b></a> () const</li>
<li class=fn>T &amp; <a href="#data"><b>data</b></a> ()</li>
<li class=fn>const T &amp; <a href="#data-2"><b>data</b></a> () const</li>
<li class=fn>TQMapIterator&lt;K, T&gt; &amp; <a href="#operator++"><b>operator++</b></a> ()</li>
<li class=fn>TQMapIterator&lt;K, T&gt; <a href="#operator++-2"><b>operator++</b></a> ( int )</li>
<li class=fn>TQMapIterator&lt;K, T&gt; &amp; <a href="#operator--"><b>operator--</b></a> ()</li>
<li class=fn>TQMapIterator&lt;K, T&gt; <a href="#operator---2"><b>operator--</b></a> ( int )</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>


The TQMapIterator class provides an iterator for <a href="ntqmap.html">TQMap</a>.
<p> 

<p> You cannot create an iterator by yourself. Instead, you must ask a
map to give you one. An iterator is as big as a pointer; on 32-bit
machines that means 4 bytes, on 64-bit machines, 8 bytes. That
makes copying iterators very fast. Iterators behave in a similar
way to pointers, and they are almost as fast as pointers. See the
<a href="ntqmap.html#qmap-eg">TQMap example</a>.
<p> TQMap is highly optimized for performance and memory usage, but the
trade-off is that you must be more careful. The only way to
traverse a map is to use iterators. TQMap does not know about its
iterators, and the iterators don't even know to which map they
belong. That makes things fast but a bit dangerous because it is
up to you to make sure that the iterators you are using are still
valid. <a href="qdictiterator.html">TQDictIterator</a> will be able to give warnings, whereas
TQMapIterator may end up in an undefined state.
<p> For every Iterator there is also a ConstIterator. You must use the
ConstIterator to access a <a href="ntqmap.html">TQMap</a> in a const environment or if the
reference or pointer to the map is itself const. Its semantics are
the same, but it only returns const references to the item it
points to.
<p> <p>See also <a href="ntqmap.html">TQMap</a>, <a href="qmapconstiterator.html">TQMapConstIterator</a>, <a href="ntqtl.html">TQt Template Library Classes</a>, and <a href="tools.html">Non-GUI Classes</a>.

<hr><h2>Member Type Documentation</h2>
<h3 class=fn><a name="iterator_category"></a>TQMapIterator::iterator_category</h3> 
The type of iterator category, <tt>std::bidirectional_iterator_tag</tt>. 
<h3 class=fn><a name="pointer"></a>TQMapIterator::pointer</h3> 
Pointer to value_type. 
<h3 class=fn><a name="reference"></a>TQMapIterator::reference</h3> 
Reference to value_type. 
<h3 class=fn><a name="value_type"></a>TQMapIterator::value_type</h3> 
The type of value. 
<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a name="TQMapIterator"></a>TQMapIterator::TQMapIterator ()
</h3>

<p> Creates an uninitialized iterator.

<h3 class=fn><a name="TQMapIterator-2"></a>TQMapIterator::TQMapIterator ( TQMapNode&lt;K,&nbsp;T&gt;&nbsp;*&nbsp;p )
</h3>

<p> Constructs an iterator starting at node <em>p</em>.

<h3 class=fn><a name="TQMapIterator-3"></a>TQMapIterator::TQMapIterator ( const&nbsp;<a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it )
</h3>

<p> Constructs a copy of the iterator, <em>it</em>.

<h3 class=fn>T &amp; <a name="data"></a>TQMapIterator::data ()
</h3>

<p> Returns a reference to the current item's data.

<h3 class=fn>const T &amp; <a name="data-2"></a>TQMapIterator::data () const
</h3>

<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
<p> Returns a const reference to the current item's data.

<h3 class=fn>const K &amp; <a name="key"></a>TQMapIterator::key () const
</h3>

<p> Returns a const reference to the current item's key.

<h3 class=fn>bool <a name="operator!-eq"></a>TQMapIterator::operator!= ( const&nbsp;<a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const
</h3>

<p> Compares the iterator to the <em>it</em> iterator and returns FALSE if
they point to the same item; otherwise returns TRUE.

<h3 class=fn>T &amp; <a name="operator*"></a>TQMapIterator::operator* ()
</h3>

<p> Dereference operator. Returns a reference to the current item's
data. The same as <a href="#data">data</a>().

<h3 class=fn>const T &amp; <a name="operator*-2"></a>TQMapIterator::operator* () const
</h3>

<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
<p> Dereference operator. Returns a const reference to the current
item's data. The same as <a href="#data">data</a>().

<h3 class=fn><a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp; <a name="operator++"></a>TQMapIterator::operator++ ()
</h3>

<p> Prefix ++ makes the succeeding item current and returns an
iterator pointing to the new current item. The iterator cannot
check whether it reached the end of the map. Incrementing the
iterator returned by end() causes undefined results.

<h3 class=fn><a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt; <a name="operator++-2"></a>TQMapIterator::operator++ ( int )
</h3>

<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
<p> Postfix ++ makes the succeeding item current and returns an
iterator pointing to the new current item. The iterator cannot
check whether it reached the end of the map. Incrementing the
iterator returned by end() causes undefined results.

<h3 class=fn><a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp; <a name="operator--"></a>TQMapIterator::operator-- ()
</h3>

<p> Prefix -- makes the previous item current and returns an iterator
pointing to the new current item. The iterator cannot check
whether it reached the beginning of the map. Decrementing the
iterator returned by begin() causes undefined results.

<h3 class=fn><a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt; <a name="operator---2"></a>TQMapIterator::operator-- ( int )
</h3>

<p> This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
<p> Postfix -- makes the previous item current and returns an iterator
pointing to the new current item. The iterator cannot check
whether it reached the beginning of the map. Decrementing the
iterator returned by begin() causes undefined results.

<h3 class=fn>bool <a name="operator-eq-eq"></a>TQMapIterator::operator== ( const&nbsp;<a href="qmapiterator.html">TQMapIterator</a>&lt;K,&nbsp;T&gt;&nbsp;&amp;&nbsp;it ) const
</h3>

<p> Compares the iterator to the <em>it</em> iterator and returns TRUE if
they point to the same item; otherwise returns FALSE.

<!-- eof -->
<hr><p>
This file is part of the <a href="index.html">TQt 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>TQt 3.3.8</div>
</table></div></address></body>
</html>