1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
<title>gtkmm: Gtk::TreeIter Class Reference</title>
7
<link href="tabs.css" rel="stylesheet" type="text/css"/>
8
<script type="text/javascript" src="jquery.js"></script>
9
<script type="text/javascript" src="dynsections.js"></script>
10
<link href="doxygen.css" rel="stylesheet" type="text/css" />
13
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
15
<table cellspacing="0" cellpadding="0">
17
<tr style="height: 56px;">
18
<td style="padding-left: 0.5em;">
19
<div id="projectname">gtkmm
20
 <span id="projectnumber">3.5.13</span>
27
<!-- end header part -->
28
<!-- Generated by Doxygen 1.8.1.1 -->
29
<div id="navrow1" class="tabs">
31
<li><a href="index.html"><span>Main Page</span></a></li>
32
<li><a href="pages.html"><span>Related Pages</span></a></li>
33
<li><a href="modules.html"><span>Modules</span></a></li>
34
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
35
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
38
<div id="navrow2" class="tabs2">
40
<li><a href="annotated.html"><span>Class List</span></a></li>
41
<li><a href="classes.html"><span>Class Index</span></a></li>
42
<li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
43
<li><a href="functions.html"><span>Class Members</span></a></li>
46
<div id="nav-path" class="navpath">
48
<li class="navelem"><a class="el" href="namespaceGtk.html">Gtk</a></li><li class="navelem"><a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a></li> </ul>
53
<a href="#pub-types">Public Types</a> |
54
<a href="#pub-methods">Public Member Functions</a> |
55
<a href="#related">Related Functions</a> </div>
56
<div class="headertitle">
57
<div class="title">Gtk::TreeIter Class Reference<div class="ingroups"><a class="el" href="group__TreeView.html">TreeView Classes</a></div></div> </div>
59
<div class="contents">
61
<p>A <a class="el" href="classGtk_1_1TreeModel.html#a754e74cd833ff30e729f9b8d7daf4d8c">Gtk::TreeModel::iterator</a> is a reference to a specific node on a specific model. <a href="classGtk_1_1TreeIter.html#details">More...</a></p>
62
<div class="dynheader">
63
Inheritance diagram for Gtk::TreeIter:</div>
64
<div class="dyncontent">
65
<div class="center"><img src="classGtk_1_1TreeIter__inherit__graph.png" border="0" usemap="#Gtk_1_1TreeIter_inherit__map" alt="Inheritance graph"/></div>
66
<map name="Gtk_1_1TreeIter_inherit__map" id="Gtk_1_1TreeIter_inherit__map">
67
<area shape="rect" id="node5" href="classGtk_1_1TreeNodeChildren.html" title="typedefed as TreeModel::Children." alt="" coords="5,155,237,181"/><area shape="rect" id="node7" href="classGtk_1_1TreeRow.html" title="Typedefed as TreeModel::Row." alt="" coords="262,155,404,181"/><area shape="rect" id="node2" href="classGtk_1_1TreeIterBase.html" title="Gtk::TreeIterBase" alt="" coords="131,5,323,32"/></map>
68
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
70
<p><a href="classGtk_1_1TreeIter-members.html">List of all members.</a></p>
71
<table class="memberdecls">
72
<tr class="heading"><td colspan="2"><h2><a name="pub-types"></a>
73
Public Types</h2></td></tr>
74
<tr class="memitem:ad48e11234a1ef30a56fbf64d944232e1"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
75
std::bidirectional_iterator_tag </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#ad48e11234a1ef30a56fbf64d944232e1">iterator_category</a></td></tr>
76
<tr class="memitem:ad6d804b4744a31a96083edd31639b82b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classGtk_1_1TreeRow.html">Gtk::TreeRow</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#ad6d804b4744a31a96083edd31639b82b">value_type</a></td></tr>
77
<tr class="memitem:ab55da0493213816959f624a0d3747771"><td class="memItemLeft" align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#ab55da0493213816959f624a0d3747771">difference_type</a></td></tr>
78
<tr class="memitem:a5011b05221c38181c734b44fa8c0d83f"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="classGtk_1_1TreeRow.html">Gtk::TreeRow</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a5011b05221c38181c734b44fa8c0d83f">reference</a></td></tr>
79
<tr class="memitem:a5ca69865eaeb38e6c56539964411307b"><td class="memItemLeft" align="right" valign="top">typedef const <a class="el" href="classGtk_1_1TreeRow.html">Gtk::TreeRow</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a5ca69865eaeb38e6c56539964411307b">pointer</a></td></tr>
80
<tr class="memitem:a18bdf86cfc172d21a7584f18835a55bb"><td class="memItemLeft" align="right" valign="top">typedef const void* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a18bdf86cfc172d21a7584f18835a55bb">BoolExpr</a></td></tr>
81
<tr class="memdesc:a18bdf86cfc172d21a7584f18835a55bb"><td class="mdescLeft"> </td><td class="mdescRight">This typedef is just to make it more obvious that our operator const void* should be used like operator bool(). <a href="#a18bdf86cfc172d21a7584f18835a55bb"></a><br/></td></tr>
82
</table><table class="memberdecls">
83
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
84
Public Member Functions</h2></td></tr>
85
<tr class="memitem:a5f419a854ffb2ddefa224b5afd70657d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a5f419a854ffb2ddefa224b5afd70657d">TreeIter</a> ()</td></tr>
86
<tr class="memitem:a41602c61e46dd41587f4b56db46d325e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a41602c61e46dd41587f4b56db46d325e">operator++</a> ()</td></tr>
87
<tr class="memitem:a46e9bcc4291a436b8b70992c45762372"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a46e9bcc4291a436b8b70992c45762372">operator++</a> (int)</td></tr>
88
<tr class="memitem:afed3b959fa29d90b57e417b88392e335"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#afed3b959fa29d90b57e417b88392e335">operator--</a> ()</td></tr>
89
<tr class="memdesc:afed3b959fa29d90b57e417b88392e335"><td class="mdescLeft"> </td><td class="mdescRight">Please note that this is very slow compared to <a class="el" href="classGtk_1_1TreeIter.html#a41602c61e46dd41587f4b56db46d325e">operator++()</a>. <a href="#afed3b959fa29d90b57e417b88392e335"></a><br/></td></tr>
90
<tr class="memitem:ab1070ff322a770f443ddf625d0ee0391"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#ab1070ff322a770f443ddf625d0ee0391">operator--</a> (int)</td></tr>
91
<tr class="memdesc:ab1070ff322a770f443ddf625d0ee0391"><td class="mdescLeft"> </td><td class="mdescRight">Please note that this is very slow compared to <a class="el" href="classGtk_1_1TreeIter.html#a41602c61e46dd41587f4b56db46d325e">operator++()</a>. <a href="#ab1070ff322a770f443ddf625d0ee0391"></a><br/></td></tr>
92
<tr class="memitem:a8719cade1c5047b221f6cefa738547c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html#a5011b05221c38181c734b44fa8c0d83f">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a8719cade1c5047b221f6cefa738547c0">operator*</a> () const </td></tr>
93
<tr class="memitem:a1daa2dd6654698e001ef8ff8b784b885"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html#a5ca69865eaeb38e6c56539964411307b">pointer</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a1daa2dd6654698e001ef8ff8b784b885">operator-></a> () const </td></tr>
94
<tr class="memitem:a644adfe72d43e87d451e3be9b9c36648"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a644adfe72d43e87d451e3be9b9c36648">equal</a> (const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& other) const </td></tr>
95
<tr class="memitem:a2fef381e0bef5f000e6120c627259b1f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a2fef381e0bef5f000e6120c627259b1f">operator BoolExpr</a> () const </td></tr>
96
<tr class="memdesc:a2fef381e0bef5f000e6120c627259b1f"><td class="mdescLeft"> </td><td class="mdescRight">Discover whether the iterator is valid, and not equal to <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00460.html#ga791b934fd29c64f6f220effd72dedfe4">end()</a>. <a href="#a2fef381e0bef5f000e6120c627259b1f"></a><br/></td></tr>
97
<tr class="memitem:ab0c7c66a642182e48c087fd02562b73f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#ab0c7c66a642182e48c087fd02562b73f">get_stamp</a> () const </td></tr>
98
<tr class="memdesc:ab0c7c66a642182e48c087fd02562b73f"><td class="mdescLeft"> </td><td class="mdescRight">This is only useful when implementing a custom <a class="el" href="classGtk_1_1TreeModel.html" title="This class defines a generic tree interface for use by the Gtk::TreeView widget.">Gtk::TreeModel</a> class. <a href="#ab0c7c66a642182e48c087fd02562b73f"></a><br/></td></tr>
99
<tr class="memitem:af30ad8f5e3754851f52ade6aa0714476"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#af30ad8f5e3754851f52ade6aa0714476">set_stamp</a> (int stamp)</td></tr>
100
<tr class="memdesc:af30ad8f5e3754851f52ade6aa0714476"><td class="mdescLeft"> </td><td class="mdescRight">This is only useful when implementing a custom <a class="el" href="classGtk_1_1TreeModel.html" title="This class defines a generic tree interface for use by the Gtk::TreeView widget.">Gtk::TreeModel</a> class. <a href="#af30ad8f5e3754851f52ade6aa0714476"></a><br/></td></tr>
101
<tr class="inherit_header pub_methods_classGtk_1_1TreeIterBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classGtk_1_1TreeIterBase')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classGtk_1_1TreeIterBase.html">Gtk::TreeIterBase</a></td></tr>
102
<tr class="memitem:a0904577c8f2602dc7a5508068f0acfbd inherit pub_methods_classGtk_1_1TreeIterBase"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIterBase.html#a0904577c8f2602dc7a5508068f0acfbd">TreeIterBase</a> ()</td></tr>
103
<tr class="memitem:a10a9ab4a23c43d1252a4383ac1096c53 inherit pub_methods_classGtk_1_1TreeIterBase"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIterBase.html#a10a9ab4a23c43d1252a4383ac1096c53">TreeIterBase</a> (const GtkTreeIter* gobject)</td></tr>
104
<tr class="memitem:a1479600863c422429b606e26885fc5ef inherit pub_methods_classGtk_1_1TreeIterBase"><td class="memItemLeft" align="right" valign="top">GtkTreeIter* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIterBase.html#a1479600863c422429b606e26885fc5ef">gobj</a> ()</td></tr>
105
<tr class="memdesc:a1479600863c422429b606e26885fc5ef inherit pub_methods_classGtk_1_1TreeIterBase"><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C instance. <a href="#a1479600863c422429b606e26885fc5ef"></a><br/></td></tr>
106
<tr class="memitem:a0a9ac6f632e297568fa81c67966fb737 inherit pub_methods_classGtk_1_1TreeIterBase"><td class="memItemLeft" align="right" valign="top">const GtkTreeIter* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIterBase.html#a0a9ac6f632e297568fa81c67966fb737">gobj</a> () const </td></tr>
107
<tr class="memdesc:a0a9ac6f632e297568fa81c67966fb737 inherit pub_methods_classGtk_1_1TreeIterBase"><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C instance. <a href="#a0a9ac6f632e297568fa81c67966fb737"></a><br/></td></tr>
108
</table><table class="memberdecls">
109
<tr class="heading"><td colspan="2"><h2><a name="related"></a>
110
Related Functions</h2></td></tr>
111
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
113
<tr class="memitem:a27ec6dbc88cf8ed080ebf397226f25ad"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a27ec6dbc88cf8ed080ebf397226f25ad">operator==</a> (const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& lhs, const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& rhs)</td></tr>
114
<tr class="memitem:a8b0a2d89e01de99226fce73c9034d2c7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIter.html#a8b0a2d89e01de99226fce73c9034d2c7">operator!=</a> (const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& lhs, const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& rhs)</td></tr>
115
</table><table class="memberdecls">
116
<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
117
Additional Inherited Members</h2></td></tr>
118
<tr class="inherit_header pub_static_methods_classGtk_1_1TreeIterBase"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classGtk_1_1TreeIterBase')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classGtk_1_1TreeIterBase.html">Gtk::TreeIterBase</a></td></tr>
119
<tr class="memitem:a0d7ca80b3cc79576e0b43ef373f6064a inherit pub_static_methods_classGtk_1_1TreeIterBase"><td class="memItemLeft" align="right" valign="top">static GType </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIterBase.html#a0d7ca80b3cc79576e0b43ef373f6064a">get_type</a> ()</td></tr>
120
<tr class="memdesc:a0d7ca80b3cc79576e0b43ef373f6064a inherit pub_static_methods_classGtk_1_1TreeIterBase"><td class="mdescLeft"> </td><td class="mdescRight">Get the GType for this class, for use with the underlying GObject type system. <a href="#a0d7ca80b3cc79576e0b43ef373f6064a"></a><br/></td></tr>
121
<tr class="inherit_header pro_attribs_classGtk_1_1TreeIterBase"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classGtk_1_1TreeIterBase')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classGtk_1_1TreeIterBase.html">Gtk::TreeIterBase</a></td></tr>
122
<tr class="memitem:a825f19ad20572560796c87c58a2d1cf0 inherit pro_attribs_classGtk_1_1TreeIterBase"><td class="memItemLeft" align="right" valign="top">GtkTreeIter </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1TreeIterBase.html#a825f19ad20572560796c87c58a2d1cf0">gobject_</a></td></tr>
124
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
125
<div class="textblock"><p>A <a class="el" href="classGtk_1_1TreeModel.html#a754e74cd833ff30e729f9b8d7daf4d8c">Gtk::TreeModel::iterator</a> is a reference to a specific node on a specific model. </p>
126
<p>It is a generic structure with an integer and three generic pointers. These are filled in by the model in a model-specific way.</p>
127
<p>One can convert a path to an iterator by calling <a class="el" href="classGtk_1_1TreeModel.html#aebaa795e4920ddc0ec5e39c9f4fbc660" title="Returns a valid iterator pointing to path.">Gtk::TreeModel::get_iter()</a>.</p>
128
<p>These iterators are the primary way of accessing a model and are similar to the iterators used by <a class="el" href="classGtk_1_1TextBuffer.html" title="Multi-line attributed text that can be displayed by one or more Gtk::TextView widgets.">Gtk::TextBuffer</a>. The model interface defines a set of operations using them for navigating the model.</p>
129
<p>The lifecycle of an iterator can be a little confusing at first. Iterators are expected to always be valid for as long as the model is unchanged (and doesn't emit a signal). Additionally, some models guarantee that an iterator is valid for as long as the node it refers to is valid (most notably the <a class="el" href="classGtk_1_1TreeStore.html">Gtk::TreeStore</a> and <a class="el" href="classGtk_1_1ListStore.html" title="Thist is a list model for use with a Gtk::TreeView widget.">Gtk::ListStore</a>).</p>
130
<p>Although generally uninteresting, as one always has to allow for the case where iterators do not persist beyond a signal, some very important performance enhancements were made in the sort model. As a result, the <a class="el" href="group__gtkmmEnums.html#gga8db2110062643eb26461ec23b63e2cb2af6180b637675678b5d9d6ee16e0596ab">Gtk::TREE_MODEL_ITERS_PERSIST</a> flag was added to indicate this behaviour - see <a class="el" href="classGtk_1_1TreeModel.html#af4b5de9c0bd5a79ef06fcda4fc415ef8" title="Returns a set of flags supported by this interface.">Gtk::TreeModel::get_flags()</a>.</p>
131
<p>Typedefed as <a class="el" href="classGtk_1_1TreeModel.html#a754e74cd833ff30e729f9b8d7daf4d8c">Gtk::TreeModel::iterator</a>. The <a class="el" href="classGtk_1_1TreeModel.html" title="This class defines a generic tree interface for use by the Gtk::TreeView widget.">Gtk::TreeModel</a> iterator. </p>
132
</div><hr/><h2>Member Typedef Documentation</h2>
133
<a class="anchor" id="a18bdf86cfc172d21a7584f18835a55bb"></a>
134
<div class="memitem">
135
<div class="memproto">
136
<table class="memname">
138
<td class="memname">typedef const void* <a class="el" href="classGtk_1_1TreeIter.html#a18bdf86cfc172d21a7584f18835a55bb">Gtk::TreeIter::BoolExpr</a></td>
141
</div><div class="memdoc">
143
<p>This typedef is just to make it more obvious that our operator const void* should be used like operator bool(). </p>
145
<p>Reimplemented in <a class="el" href="classGtk_1_1TreeNodeChildren.html#a053136b1d9d4e5b0f15b01efe3fd28ab">Gtk::TreeNodeChildren</a>, and <a class="el" href="classGtk_1_1TreeRow.html#a5a38a7fa20f2e69eef053e8a811e582a">Gtk::TreeRow</a>.</p>
149
<a class="anchor" id="ab55da0493213816959f624a0d3747771"></a>
150
<div class="memitem">
151
<div class="memproto">
152
<table class="memname">
154
<td class="memname">typedef int <a class="el" href="classGtk_1_1TreeIter.html#ab55da0493213816959f624a0d3747771">Gtk::TreeIter::difference_type</a></td>
157
</div><div class="memdoc">
159
<p>Reimplemented in <a class="el" href="classGtk_1_1TreeNodeChildren.html#af369358b71331b358b7c86b0cf7f6703">Gtk::TreeNodeChildren</a>.</p>
163
<a class="anchor" id="ad48e11234a1ef30a56fbf64d944232e1"></a>
164
<div class="memitem">
165
<div class="memproto">
166
<table class="memname">
168
<td class="memname">typedef std::bidirectional_iterator_tag <a class="el" href="classGtk_1_1TreeIter.html#ad48e11234a1ef30a56fbf64d944232e1">Gtk::TreeIter::iterator_category</a></td>
171
</div><div class="memdoc">
175
<a class="anchor" id="a5ca69865eaeb38e6c56539964411307b"></a>
176
<div class="memitem">
177
<div class="memproto">
178
<table class="memname">
180
<td class="memname">typedef const <a class="el" href="classGtk_1_1TreeRow.html">Gtk::TreeRow</a>* <a class="el" href="classGtk_1_1TreeIter.html#a5ca69865eaeb38e6c56539964411307b">Gtk::TreeIter::pointer</a></td>
183
</div><div class="memdoc">
187
<a class="anchor" id="a5011b05221c38181c734b44fa8c0d83f"></a>
188
<div class="memitem">
189
<div class="memproto">
190
<table class="memname">
192
<td class="memname">typedef const <a class="el" href="classGtk_1_1TreeRow.html">Gtk::TreeRow</a>& <a class="el" href="classGtk_1_1TreeIter.html#a5011b05221c38181c734b44fa8c0d83f">Gtk::TreeIter::reference</a></td>
195
</div><div class="memdoc">
199
<a class="anchor" id="ad6d804b4744a31a96083edd31639b82b"></a>
200
<div class="memitem">
201
<div class="memproto">
202
<table class="memname">
204
<td class="memname">typedef <a class="el" href="classGtk_1_1TreeRow.html">Gtk::TreeRow</a> <a class="el" href="classGtk_1_1TreeIter.html#ad6d804b4744a31a96083edd31639b82b">Gtk::TreeIter::value_type</a></td>
207
</div><div class="memdoc">
209
<p>Reimplemented in <a class="el" href="classGtk_1_1TreeNodeChildren.html#a67c2eca3018e0121026bee8610c09171">Gtk::TreeNodeChildren</a>.</p>
213
<hr/><h2>Constructor & Destructor Documentation</h2>
214
<a class="anchor" id="a5f419a854ffb2ddefa224b5afd70657d"></a>
215
<div class="memitem">
216
<div class="memproto">
217
<table class="memname">
219
<td class="memname">Gtk::TreeIter::TreeIter </td>
221
<td class="paramname"></td><td>)</td>
225
</div><div class="memdoc">
229
<hr/><h2>Member Function Documentation</h2>
230
<a class="anchor" id="a644adfe72d43e87d451e3be9b9c36648"></a>
231
<div class="memitem">
232
<div class="memproto">
233
<table class="memname">
235
<td class="memname">bool Gtk::TreeIter::equal </td>
237
<td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td>
238
<td class="paramname"><em>other</em></td><td>)</td>
242
</div><div class="memdoc">
246
<a class="anchor" id="ab0c7c66a642182e48c087fd02562b73f"></a>
247
<div class="memitem">
248
<div class="memproto">
249
<table class="memname">
251
<td class="memname">int Gtk::TreeIter::get_stamp </td>
253
<td class="paramname"></td><td>)</td>
257
</div><div class="memdoc">
259
<p>This is only useful when implementing a custom <a class="el" href="classGtk_1_1TreeModel.html" title="This class defines a generic tree interface for use by the Gtk::TreeView widget.">Gtk::TreeModel</a> class. </p>
260
<p>Compare the iterator's stamp with your model's stamp to discover whether it is valid. </p>
261
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="classGtk_1_1TreeIter.html#af30ad8f5e3754851f52ade6aa0714476" title="This is only useful when implementing a custom Gtk::TreeModel class.">set_stamp()</a>. </dd></dl>
262
<dl class="section return"><dt>Returns:</dt><dd>The iterator's stamp. </dd></dl>
266
<a class="anchor" id="a2fef381e0bef5f000e6120c627259b1f"></a>
267
<div class="memitem">
268
<div class="memproto">
269
<table class="memname">
271
<td class="memname">Gtk::TreeIter::operator <a class="el" href="classGtk_1_1TreeIter.html#a18bdf86cfc172d21a7584f18835a55bb">BoolExpr</a> </td>
273
<td class="paramname"></td><td>)</td>
277
</div><div class="memdoc">
279
<p>Discover whether the iterator is valid, and not equal to <a class="elRef" doxygen="libstdc++.tag:http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00460.html#ga791b934fd29c64f6f220effd72dedfe4">end()</a>. </p>
280
<p>For instance, </p>
281
<div class="fragment"><div class="line"> <span class="keywordflow">if</span>(treeiter)</div>
282
<div class="line"> do_something()</div>
283
</div><!-- fragment --> <p>Reimplemented in <a class="el" href="classGtk_1_1TreeNodeChildren.html#a517990316cb1453f33a06adadf9265da">Gtk::TreeNodeChildren</a>, and <a class="el" href="classGtk_1_1TreeRow.html#a26862b4b1de30557583eb4011aeb14f1">Gtk::TreeRow</a>.</p>
287
<a class="anchor" id="a8719cade1c5047b221f6cefa738547c0"></a>
288
<div class="memitem">
289
<div class="memproto">
290
<table class="mlabels">
292
<td class="mlabels-left">
293
<table class="memname">
295
<td class="memname"><a class="el" href="classGtk_1_1TreeIter.html#a5011b05221c38181c734b44fa8c0d83f">reference</a> Gtk::TreeIter::operator* </td>
297
<td class="paramname"></td><td>)</td>
302
<td class="mlabels-right">
303
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
306
</div><div class="memdoc">
310
<a class="anchor" id="a41602c61e46dd41587f4b56db46d325e"></a>
311
<div class="memitem">
312
<div class="memproto">
313
<table class="memname">
315
<td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& Gtk::TreeIter::operator++ </td>
317
<td class="paramname"></td><td>)</td>
321
</div><div class="memdoc">
325
<a class="anchor" id="a46e9bcc4291a436b8b70992c45762372"></a>
326
<div class="memitem">
327
<div class="memproto">
328
<table class="memname">
330
<td class="memname">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a> Gtk::TreeIter::operator++ </td>
332
<td class="paramtype">int </td>
333
<td class="paramname"></td><td>)</td>
337
</div><div class="memdoc">
341
<a class="anchor" id="afed3b959fa29d90b57e417b88392e335"></a>
342
<div class="memitem">
343
<div class="memproto">
344
<table class="memname">
346
<td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& Gtk::TreeIter::operator-- </td>
348
<td class="paramname"></td><td>)</td>
352
</div><div class="memdoc">
354
<p>Please note that this is very slow compared to <a class="el" href="classGtk_1_1TreeIter.html#a41602c61e46dd41587f4b56db46d325e">operator++()</a>. </p>
358
<a class="anchor" id="ab1070ff322a770f443ddf625d0ee0391"></a>
359
<div class="memitem">
360
<div class="memproto">
361
<table class="memname">
363
<td class="memname">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a> Gtk::TreeIter::operator-- </td>
365
<td class="paramtype">int </td>
366
<td class="paramname"></td><td>)</td>
370
</div><div class="memdoc">
372
<p>Please note that this is very slow compared to <a class="el" href="classGtk_1_1TreeIter.html#a41602c61e46dd41587f4b56db46d325e">operator++()</a>. </p>
376
<a class="anchor" id="a1daa2dd6654698e001ef8ff8b784b885"></a>
377
<div class="memitem">
378
<div class="memproto">
379
<table class="mlabels">
381
<td class="mlabels-left">
382
<table class="memname">
384
<td class="memname"><a class="el" href="classGtk_1_1TreeIter.html#a5ca69865eaeb38e6c56539964411307b">pointer</a> Gtk::TreeIter::operator-> </td>
386
<td class="paramname"></td><td>)</td>
391
<td class="mlabels-right">
392
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
395
</div><div class="memdoc">
399
<a class="anchor" id="af30ad8f5e3754851f52ade6aa0714476"></a>
400
<div class="memitem">
401
<div class="memproto">
402
<table class="memname">
404
<td class="memname">void Gtk::TreeIter::set_stamp </td>
406
<td class="paramtype">int </td>
407
<td class="paramname"><em>stamp</em></td><td>)</td>
411
</div><div class="memdoc">
413
<p>This is only useful when implementing a custom <a class="el" href="classGtk_1_1TreeModel.html" title="This class defines a generic tree interface for use by the Gtk::TreeView widget.">Gtk::TreeModel</a> class. </p>
414
<p>Set the stamp to be equal to your model's stamp, to mark the iterator as valid. When your model's structure changes, you should increment your model's stamp to mark all older iterators as invalid. They will be recognised as invalid because they will then have an incorrect stamp. </p>
418
<hr/><h2>Friends And Related Function Documentation</h2>
419
<a class="anchor" id="a8b0a2d89e01de99226fce73c9034d2c7"></a>
420
<div class="memitem">
421
<div class="memproto">
422
<table class="mlabels">
424
<td class="mlabels-left">
425
<table class="memname">
427
<td class="memname">bool operator!= </td>
429
<td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td>
430
<td class="paramname"><em>lhs</em>, </td>
433
<td class="paramkey"></td>
435
<td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td>
436
<td class="paramname"><em>rhs</em> </td>
445
<td class="mlabels-right">
446
<span class="mlabels"><span class="mlabel">related</span></span> </td>
449
</div><div class="memdoc">
453
<a class="anchor" id="a27ec6dbc88cf8ed080ebf397226f25ad"></a>
454
<div class="memitem">
455
<div class="memproto">
456
<table class="mlabels">
458
<td class="mlabels-left">
459
<table class="memname">
461
<td class="memname">bool operator== </td>
463
<td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td>
464
<td class="paramname"><em>lhs</em>, </td>
467
<td class="paramkey"></td>
469
<td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">TreeIter</a>& </td>
470
<td class="paramname"><em>rhs</em> </td>
479
<td class="mlabels-right">
480
<span class="mlabels"><span class="mlabel">related</span></span> </td>
483
</div><div class="memdoc">
487
<hr/>The documentation for this class was generated from the following file:<ul>
488
<li>gtkmm/treeiter.h</li>
490
</div><!-- contents -->
491
<!-- start footer part -->
492
<hr class="footer"/><address class="footer"><small>
493
Generated by  <a href="http://www.doxygen.org/index.html">
494
<img class="footer" src="doxygen.png" alt="doxygen"/>