Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>glibmm: Glib::NodeTree&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">glibmm
   &#160;<span id="projectnumber">2.56.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceGlib.html">Glib</a></li><li class="navelem"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classGlib_1_1NodeTree-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Glib::NodeTree&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>N-ary Trees - trees of data with any number of branches The <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> class and its associated functions provide an N-ary tree data structure, in which nodes in the tree can contain arbitrary data.  
 <a href="classGlib_1_1NodeTree.html#details">More...</a></p>

<p><code>#include &lt;glibmm/nodetree.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:gad11179d39a4991e5b09f145d594a450e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> { <br />
&#160;&#160;<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea7da8793fdd0c433870a5e6c2e3152898">TRAVERSE_LEAVES</a> = G_TRAVERSE_LEAVES, 
<br />
&#160;&#160;<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea6473ae1f054172ae349d01003fabf37f">TRAVERSE_NON_LEAVES</a> = G_TRAVERSE_NON_LEAVES, 
<br />
&#160;&#160;<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a> = G_TRAVERSE_ALL, 
<br />
&#160;&#160;<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea6832c7b45443db4eed6f4cfbd3c04b69">TRAVERSE_MASK</a> = G_TRAVERSE_MASK
<br />
 }<tr class="memdesc:gad11179d39a4991e5b09f145d594a450e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specifies which nodes are visited during several of the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> methods, including <a class="el" href="classGlib_1_1NodeTree.html#a88164f3d6446ba63db1c7e633d1f042d" title="Traverses a tree starting at the current node. ">traverse()</a> and <a class="el" href="classGlib_1_1NodeTree.html#a2b7691f32ba16f902124c6c72110d1c5" title="Finds a node in a tree. ">find()</a>.  <a href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gad11179d39a4991e5b09f145d594a450e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac30c5e3140bf48cc572a391e6169bd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a> = <a class="elRef" doxygen="libsigc++-2.0.tag:http://library.gnome.org/devel/libsigc++/unstable/" href="http://library.gnome.org/devel/libsigc++/unstable/classsigc_1_1slot.html">sigc::slot</a>&lt; bool, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; &gt;</td></tr>
<tr class="separator:a4ac30c5e3140bf48cc572a391e6169bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ec9935fad44739a6e4f051939812ef3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a> = <a class="elRef" doxygen="libsigc++-2.0.tag:http://library.gnome.org/devel/libsigc++/unstable/" href="http://library.gnome.org/devel/libsigc++/unstable/classsigc_1_1slot.html">sigc::slot</a>&lt; void, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; &gt;</td></tr>
<tr class="separator:a2ec9935fad44739a6e4f051939812ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a24d62b0424afc56cef69022c36bb16c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a24d62b0424afc56cef69022c36bb16c5">NodeTree</a> ()</td></tr>
<tr class="separator:a24d62b0424afc56cef69022c36bb16c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3909f3fe31329f176925791bbe368fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa3909f3fe31329f176925791bbe368fb">NodeTree</a> (const T&amp; the_data)</td></tr>
<tr class="separator:aa3909f3fe31329f176925791bbe368fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c27a9b91aa532347e463f3629d20dd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a5c27a9b91aa532347e463f3629d20dd6">NodeTree</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="separator:a5c27a9b91aa532347e463f3629d20dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a106a3ec5b9d0e0368aa43b4ef9bbe93e">~NodeTree</a> ()</td></tr>
<tr class="memdesc:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the instance and its children from the tree, freeing any memory allocated.  <a href="#a106a3ec5b9d0e0368aa43b4ef9bbe93e">More...</a><br /></td></tr>
<tr class="separator:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af265f6f216ea9209cec39992dd0b6175"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#af265f6f216ea9209cec39992dd0b6175">operator=</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="separator:af265f6f216ea9209cec39992dd0b6175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7571a3bcf836821859f83406179921d9"><td class="memItemLeft" align="right" valign="top">GNode*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7571a3bcf836821859f83406179921d9">gobj</a> ()</td></tr>
<tr class="memdesc:a7571a3bcf836821859f83406179921d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C GObject.  <a href="#a7571a3bcf836821859f83406179921d9">More...</a><br /></td></tr>
<tr class="separator:a7571a3bcf836821859f83406179921d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79204c4824ddd98b1b228d5f3fb639c9"><td class="memItemLeft" align="right" valign="top">const GNode*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a79204c4824ddd98b1b228d5f3fb639c9">gobj</a> () const</td></tr>
<tr class="memdesc:a79204c4824ddd98b1b228d5f3fb639c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C GObject.  <a href="#a79204c4824ddd98b1b228d5f3fb639c9">More...</a><br /></td></tr>
<tr class="separator:a79204c4824ddd98b1b228d5f3fb639c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a664b7930de8a3d5b2f9f691d6a5d2e44">insert</a> (int position, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent at the given position.  <a href="#a664b7930de8a3d5b2f9f691d6a5d2e44">More...</a><br /></td></tr>
<tr class="separator:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a6c0185ff53ce6f0b6574b4b93c706a29">insert_before</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; sibling, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent before the given sibling.  <a href="#a6c0185ff53ce6f0b6574b4b93c706a29">More...</a><br /></td></tr>
<tr class="separator:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3217b1e57993a335daa02b7728385d32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a3217b1e57993a335daa02b7728385d32">insert_after</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; sibling, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a3217b1e57993a335daa02b7728385d32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent after the given sibling.  <a href="#a3217b1e57993a335daa02b7728385d32">More...</a><br /></td></tr>
<tr class="separator:a3217b1e57993a335daa02b7728385d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a5e8732e2b140233eb1450ab6f35d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a65a5e8732e2b140233eb1450ab6f35d4">append</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a65a5e8732e2b140233eb1450ab6f35d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the last child.  <a href="#a65a5e8732e2b140233eb1450ab6f35d4">More...</a><br /></td></tr>
<tr class="separator:a65a5e8732e2b140233eb1450ab6f35d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6d84033181fdbe1d84491bf505d6a5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac6d84033181fdbe1d84491bf505d6a5b">prepend</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:ac6d84033181fdbe1d84491bf505d6a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the first child.  <a href="#ac6d84033181fdbe1d84491bf505d6a5b">More...</a><br /></td></tr>
<tr class="separator:ac6d84033181fdbe1d84491bf505d6a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a988e1fd1fa5a91ac794ea859db7bcc85">insert_data</a> (int position, const T&amp; the_data)</td></tr>
<tr class="memdesc:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> at the given position.  <a href="#a988e1fd1fa5a91ac794ea859db7bcc85">More...</a><br /></td></tr>
<tr class="separator:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa93210a10a5c3c3b31b728997354f81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aaa93210a10a5c3c3b31b728997354f81">insert_data_before</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; sibling, const T&amp; the_data)</td></tr>
<tr class="memdesc:aaa93210a10a5c3c3b31b728997354f81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> before the given sibling.  <a href="#aaa93210a10a5c3c3b31b728997354f81">More...</a><br /></td></tr>
<tr class="separator:aaa93210a10a5c3c3b31b728997354f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac8d7b7ce8b478dfd87b8227e621b943c">append_data</a> (const T&amp; the_data)</td></tr>
<tr class="memdesc:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the last child.  <a href="#ac8d7b7ce8b478dfd87b8227e621b943c">More...</a><br /></td></tr>
<tr class="separator:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db3f440692e02d717bd9a4ec3b6604a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2db3f440692e02d717bd9a4ec3b6604a">prepend_data</a> (const T&amp; the_data)</td></tr>
<tr class="memdesc:a2db3f440692e02d717bd9a4ec3b6604a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the first child.  <a href="#a2db3f440692e02d717bd9a4ec3b6604a">More...</a><br /></td></tr>
<tr class="separator:a2db3f440692e02d717bd9a4ec3b6604a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a125bbad27e6950b6d399b9746c9ffb60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a125bbad27e6950b6d399b9746c9ffb60">reverse_children</a> ()</td></tr>
<tr class="memdesc:a125bbad27e6950b6d399b9746c9ffb60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverses the order of the children.  <a href="#a125bbad27e6950b6d399b9746c9ffb60">More...</a><br /></td></tr>
<tr class="separator:a125bbad27e6950b6d399b9746c9ffb60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b6480bbb3d432db077c8a5a1682135"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#af0b6480bbb3d432db077c8a5a1682135">get_root</a> ()</td></tr>
<tr class="memdesc:af0b6480bbb3d432db077c8a5a1682135"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the root of the tree.  <a href="#af0b6480bbb3d432db077c8a5a1682135">More...</a><br /></td></tr>
<tr class="separator:af0b6480bbb3d432db077c8a5a1682135"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9ff9f72ba622c70a4fb86e85abc4140"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ab9ff9f72ba622c70a4fb86e85abc4140">get_root</a> () const</td></tr>
<tr class="separator:ab9ff9f72ba622c70a4fb86e85abc4140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88164f3d6446ba63db1c7e633d1f042d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a88164f3d6446ba63db1c7e633d1f042d">traverse</a> (const <a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a>&amp; func, <a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a> order=<a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a>, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>, int max_depth=-1)</td></tr>
<tr class="memdesc:a88164f3d6446ba63db1c7e633d1f042d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traverses a tree starting at the current node.  <a href="#a88164f3d6446ba63db1c7e633d1f042d">More...</a><br /></td></tr>
<tr class="separator:a88164f3d6446ba63db1c7e633d1f042d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4dae53c67e86593c5533e86a39a7c42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac4dae53c67e86593c5533e86a39a7c42">foreach</a> (const <a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a>&amp; func, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>)</td></tr>
<tr class="memdesc:ac4dae53c67e86593c5533e86a39a7c42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls a function for each of the children of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a>.  <a href="#ac4dae53c67e86593c5533e86a39a7c42">More...</a><br /></td></tr>
<tr class="separator:ac4dae53c67e86593c5533e86a39a7c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a553e458203bcc295bafc07c3662e9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7a553e458203bcc295bafc07c3662e9c">find_child</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>)</td></tr>
<tr class="memdesc:a7a553e458203bcc295bafc07c3662e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the first child of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> with the given data.  <a href="#a7a553e458203bcc295bafc07c3662e9c">More...</a><br /></td></tr>
<tr class="separator:a7a553e458203bcc295bafc07c3662e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c9685f50e67b6495a114b35647363b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a02c9685f50e67b6495a114b35647363b">find_child</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>) const</td></tr>
<tr class="memdesc:a02c9685f50e67b6495a114b35647363b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the first child of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> with the given data.  <a href="#a02c9685f50e67b6495a114b35647363b">More...</a><br /></td></tr>
<tr class="separator:a02c9685f50e67b6495a114b35647363b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7691f32ba16f902124c6c72110d1c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2b7691f32ba16f902124c6c72110d1c5">find</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a> order=<a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a>, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>)</td></tr>
<tr class="memdesc:a2b7691f32ba16f902124c6c72110d1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a node in a tree.  <a href="#a2b7691f32ba16f902124c6c72110d1c5">More...</a><br /></td></tr>
<tr class="separator:a2b7691f32ba16f902124c6c72110d1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa29d0eb083fa192a5715d09081b9daa2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa29d0eb083fa192a5715d09081b9daa2">find</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a> order=<a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a>, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>) const</td></tr>
<tr class="memdesc:aa29d0eb083fa192a5715d09081b9daa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a node in a tree.  <a href="#aa29d0eb083fa192a5715d09081b9daa2">More...</a><br /></td></tr>
<tr class="separator:aa29d0eb083fa192a5715d09081b9daa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59fd4d44ec020b284c85e8ed362abfa2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a59fd4d44ec020b284c85e8ed362abfa2">child_index</a> (const T&amp; the_data) const</td></tr>
<tr class="memdesc:a59fd4d44ec020b284c85e8ed362abfa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the position of the first child which contains the given data.  <a href="#a59fd4d44ec020b284c85e8ed362abfa2">More...</a><br /></td></tr>
<tr class="separator:a59fd4d44ec020b284c85e8ed362abfa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bdeba7cd3ab4d8edd985c5fbb624849"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a0bdeba7cd3ab4d8edd985c5fbb624849">child_position</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; child) const</td></tr>
<tr class="memdesc:a0bdeba7cd3ab4d8edd985c5fbb624849"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the position with respect to its siblings.  <a href="#a0bdeba7cd3ab4d8edd985c5fbb624849">More...</a><br /></td></tr>
<tr class="separator:a0bdeba7cd3ab4d8edd985c5fbb624849"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab64b292bd177d3d513125953141e3de9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ab64b292bd177d3d513125953141e3de9">first_child</a> ()</td></tr>
<tr class="memdesc:ab64b292bd177d3d513125953141e3de9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first child.  <a href="#ab64b292bd177d3d513125953141e3de9">More...</a><br /></td></tr>
<tr class="separator:ab64b292bd177d3d513125953141e3de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e75a3b1c293cb1092c2e2dc53acafd6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a0e75a3b1c293cb1092c2e2dc53acafd6">first_child</a> () const</td></tr>
<tr class="memdesc:a0e75a3b1c293cb1092c2e2dc53acafd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first child.  <a href="#a0e75a3b1c293cb1092c2e2dc53acafd6">More...</a><br /></td></tr>
<tr class="separator:a0e75a3b1c293cb1092c2e2dc53acafd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac3c8a683876db6aeb8834baeff29ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a1ac3c8a683876db6aeb8834baeff29ac">last_child</a> ()</td></tr>
<tr class="memdesc:a1ac3c8a683876db6aeb8834baeff29ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last child.  <a href="#a1ac3c8a683876db6aeb8834baeff29ac">More...</a><br /></td></tr>
<tr class="separator:a1ac3c8a683876db6aeb8834baeff29ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2611bea3bcae542fe8ee7cd27c3b0f9f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2611bea3bcae542fe8ee7cd27c3b0f9f">last_child</a> () const</td></tr>
<tr class="memdesc:a2611bea3bcae542fe8ee7cd27c3b0f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last child.  <a href="#a2611bea3bcae542fe8ee7cd27c3b0f9f">More...</a><br /></td></tr>
<tr class="separator:a2611bea3bcae542fe8ee7cd27c3b0f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae956914aaa5bba966934bab270f9ee82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ae956914aaa5bba966934bab270f9ee82">nth_child</a> (int n)</td></tr>
<tr class="memdesc:ae956914aaa5bba966934bab270f9ee82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the nth child.  <a href="#ae956914aaa5bba966934bab270f9ee82">More...</a><br /></td></tr>
<tr class="separator:ae956914aaa5bba966934bab270f9ee82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8594dd900e23eabf3809e9eda71a1f96"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a8594dd900e23eabf3809e9eda71a1f96">nth_child</a> (int n) const</td></tr>
<tr class="memdesc:a8594dd900e23eabf3809e9eda71a1f96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the nth child.  <a href="#a8594dd900e23eabf3809e9eda71a1f96">More...</a><br /></td></tr>
<tr class="separator:a8594dd900e23eabf3809e9eda71a1f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2021001eee1ff423ec2f0a759170e4fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2021001eee1ff423ec2f0a759170e4fd">first_sibling</a> ()</td></tr>
<tr class="memdesc:a2021001eee1ff423ec2f0a759170e4fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first sibling.  <a href="#a2021001eee1ff423ec2f0a759170e4fd">More...</a><br /></td></tr>
<tr class="separator:a2021001eee1ff423ec2f0a759170e4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10ab733782982ea970c9d7c0190df83e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a10ab733782982ea970c9d7c0190df83e">first_sibling</a> () const</td></tr>
<tr class="memdesc:a10ab733782982ea970c9d7c0190df83e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first sibling.  <a href="#a10ab733782982ea970c9d7c0190df83e">More...</a><br /></td></tr>
<tr class="separator:a10ab733782982ea970c9d7c0190df83e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a6ed1973b99c794b1e52fdcb2fc41ba19">prev_sibling</a> ()</td></tr>
<tr class="memdesc:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the previous sibling.  <a href="#a6ed1973b99c794b1e52fdcb2fc41ba19">More...</a><br /></td></tr>
<tr class="separator:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45284799e0100ad144c114740093a115"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a45284799e0100ad144c114740093a115">prev_sibling</a> () const</td></tr>
<tr class="memdesc:a45284799e0100ad144c114740093a115"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the previous sibling.  <a href="#a45284799e0100ad144c114740093a115">More...</a><br /></td></tr>
<tr class="separator:a45284799e0100ad144c114740093a115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b973fa140f0a392edf1d9f562c6809a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7b973fa140f0a392edf1d9f562c6809a">next_sibling</a> ()</td></tr>
<tr class="memdesc:a7b973fa140f0a392edf1d9f562c6809a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next sibling.  <a href="#a7b973fa140f0a392edf1d9f562c6809a">More...</a><br /></td></tr>
<tr class="separator:a7b973fa140f0a392edf1d9f562c6809a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a313d62a1eeb33bf67473c9980015f4b2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a313d62a1eeb33bf67473c9980015f4b2">next_sibling</a> () const</td></tr>
<tr class="memdesc:a313d62a1eeb33bf67473c9980015f4b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next sibling.  <a href="#a313d62a1eeb33bf67473c9980015f4b2">More...</a><br /></td></tr>
<tr class="separator:a313d62a1eeb33bf67473c9980015f4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a958c88a651bacc95d5ec944bc96df580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a958c88a651bacc95d5ec944bc96df580">last_sibling</a> ()</td></tr>
<tr class="memdesc:a958c88a651bacc95d5ec944bc96df580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last sibling.  <a href="#a958c88a651bacc95d5ec944bc96df580">More...</a><br /></td></tr>
<tr class="separator:a958c88a651bacc95d5ec944bc96df580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe133a3d0a95bc58898f233b0758e611"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#abe133a3d0a95bc58898f233b0758e611">last_sibling</a> () const</td></tr>
<tr class="memdesc:abe133a3d0a95bc58898f233b0758e611"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last sibling.  <a href="#abe133a3d0a95bc58898f233b0758e611">More...</a><br /></td></tr>
<tr class="separator:abe133a3d0a95bc58898f233b0758e611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6db591b00c6b0919a31923a514537d3d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a6db591b00c6b0919a31923a514537d3d">is_leaf</a> () const</td></tr>
<tr class="memdesc:a6db591b00c6b0919a31923a514537d3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is a leaf node.  <a href="#a6db591b00c6b0919a31923a514537d3d">More...</a><br /></td></tr>
<tr class="separator:a6db591b00c6b0919a31923a514537d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6850d714664de7b659c5284017314e52"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a6850d714664de7b659c5284017314e52">is_root</a> () const</td></tr>
<tr class="memdesc:a6850d714664de7b659c5284017314e52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is the root node.  <a href="#a6850d714664de7b659c5284017314e52">More...</a><br /></td></tr>
<tr class="separator:a6850d714664de7b659c5284017314e52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62ba8a4424b492054e4952b0ffb26970"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a62ba8a4424b492054e4952b0ffb26970">depth</a> () const</td></tr>
<tr class="memdesc:a62ba8a4424b492054e4952b0ffb26970"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the depth of this node.  <a href="#a62ba8a4424b492054e4952b0ffb26970">More...</a><br /></td></tr>
<tr class="separator:a62ba8a4424b492054e4952b0ffb26970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f40dc7a5831e3a0c62a23d8c0357e17"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a1f40dc7a5831e3a0c62a23d8c0357e17">node_count</a> (<a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>) const</td></tr>
<tr class="memdesc:a1f40dc7a5831e3a0c62a23d8c0357e17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of nodes in a tree.  <a href="#a1f40dc7a5831e3a0c62a23d8c0357e17">More...</a><br /></td></tr>
<tr class="separator:a1f40dc7a5831e3a0c62a23d8c0357e17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a631fe16eddf3f5686dcee6b89acffe09"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a631fe16eddf3f5686dcee6b89acffe09">child_count</a> () const</td></tr>
<tr class="memdesc:a631fe16eddf3f5686dcee6b89acffe09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number children.  <a href="#a631fe16eddf3f5686dcee6b89acffe09">More...</a><br /></td></tr>
<tr class="separator:a631fe16eddf3f5686dcee6b89acffe09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae609145435fb0dab1e7d661c1514cd76"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ae609145435fb0dab1e7d661c1514cd76">is_ancestor</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; descendant) const</td></tr>
<tr class="memdesc:ae609145435fb0dab1e7d661c1514cd76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is an ancestor of <em>descendant</em>.  <a href="#ae609145435fb0dab1e7d661c1514cd76">More...</a><br /></td></tr>
<tr class="separator:ae609145435fb0dab1e7d661c1514cd76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad76a360f0c077fed74a66882cb88590f"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ad76a360f0c077fed74a66882cb88590f">get_max_height</a> () const</td></tr>
<tr class="memdesc:ad76a360f0c077fed74a66882cb88590f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the maximum height of all branches beneath this node.  <a href="#ad76a360f0c077fed74a66882cb88590f">More...</a><br /></td></tr>
<tr class="separator:ad76a360f0c077fed74a66882cb88590f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d3fec697451d006c61f3b64df22c78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a63d3fec697451d006c61f3b64df22c78">unlink</a> ()</td></tr>
<tr class="memdesc:a63d3fec697451d006c61f3b64df22c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlinks a node from a tree, resulting in two separate trees.  <a href="#a63d3fec697451d006c61f3b64df22c78">More...</a><br /></td></tr>
<tr class="separator:a63d3fec697451d006c61f3b64df22c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6159ff89698b40fea479cbafdc4f067"><td class="memItemLeft" align="right" valign="top">T&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ae6159ff89698b40fea479cbafdc4f067">data</a> ()</td></tr>
<tr class="memdesc:ae6159ff89698b40fea479cbafdc4f067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for this node's data.  <a href="#ae6159ff89698b40fea479cbafdc4f067">More...</a><br /></td></tr>
<tr class="separator:ae6159ff89698b40fea479cbafdc4f067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0075ee0e432ff8b12b46b6300fa7e5d6"><td class="memItemLeft" align="right" valign="top">const T&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a0075ee0e432ff8b12b46b6300fa7e5d6">data</a> () const</td></tr>
<tr class="memdesc:a0075ee0e432ff8b12b46b6300fa7e5d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for this node's data.  <a href="#a0075ee0e432ff8b12b46b6300fa7e5d6">More...</a><br /></td></tr>
<tr class="separator:a0075ee0e432ff8b12b46b6300fa7e5d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4503c06f9f714e561f135f4532123e80"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a4503c06f9f714e561f135f4532123e80">parent</a> () const</td></tr>
<tr class="memdesc:a4503c06f9f714e561f135f4532123e80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for this node's parent.  <a href="#a4503c06f9f714e561f135f4532123e80">More...</a><br /></td></tr>
<tr class="separator:a4503c06f9f714e561f135f4532123e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class Glib::NodeTree&lt; T &gt;</h3>

<p>N-ary Trees - trees of data with any number of branches The <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> class and its associated functions provide an N-ary tree data structure, in which nodes in the tree can contain arbitrary data. </p>
<p>To insert a node into a tree use <a class="el" href="classGlib_1_1NodeTree.html#a664b7930de8a3d5b2f9f691d6a5d2e44" title="Inserts a NodeTree beneath the parent at the given position. ">insert()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a6c0185ff53ce6f0b6574b4b93c706a29" title="Inserts a NodeTree beneath the parent before the given sibling. ">insert_before()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a65a5e8732e2b140233eb1450ab6f35d4" title="Inserts a NodeTree as the last child. ">append()</a> or <a class="el" href="classGlib_1_1NodeTree.html#ac6d84033181fdbe1d84491bf505d6a5b" title="Inserts a NodeTree as the first child. ">prepend()</a>.</p>
<p>To create a new node and insert it into a tree use <a class="el" href="classGlib_1_1NodeTree.html#a988e1fd1fa5a91ac794ea859db7bcc85" title="Inserts a new NodeTree at the given position. ">insert_data()</a>, <a class="el" href="classGlib_1_1NodeTree.html#aaa93210a10a5c3c3b31b728997354f81" title="Inserts a new NodeTree before the given sibling. ">insert_data_before()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ac8d7b7ce8b478dfd87b8227e621b943c" title="Inserts a new NodeTree as the last child. ">append_data()</a> and <a class="el" href="classGlib_1_1NodeTree.html#a2db3f440692e02d717bd9a4ec3b6604a" title="Inserts a new NodeTree as the first child. ">prepend_data()</a>.</p>
<p>To reverse the children of a node use <a class="el" href="classGlib_1_1NodeTree.html#a125bbad27e6950b6d399b9746c9ffb60" title="Reverses the order of the children. ">reverse_children()</a>.</p>
<p>To find a node use root(), <a class="el" href="classGlib_1_1NodeTree.html#a2b7691f32ba16f902124c6c72110d1c5" title="Finds a node in a tree. ">find()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a7a553e458203bcc295bafc07c3662e9c" title="Finds the first child of a NodeTree with the given data. ">find_child()</a>, index_of(), <a class="el" href="classGlib_1_1NodeTree.html#a59fd4d44ec020b284c85e8ed362abfa2" title="Gets the position of the first child which contains the given data. ">child_index()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ab64b292bd177d3d513125953141e3de9" title="Gets the first child. ">first_child()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a1ac3c8a683876db6aeb8834baeff29ac" title="Gets the last child. ">last_child()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ae956914aaa5bba966934bab270f9ee82" title="Gets the nth child. ">nth_child()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a2021001eee1ff423ec2f0a759170e4fd" title="Gets the first sibling. ">first_sibling()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a6ed1973b99c794b1e52fdcb2fc41ba19" title="Gets the previous sibling. ">prev_sibling()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a7b973fa140f0a392edf1d9f562c6809a" title="Gets the next sibling. ">next_sibling()</a> or <a class="el" href="classGlib_1_1NodeTree.html#a958c88a651bacc95d5ec944bc96df580" title="Gets the last sibling. ">last_sibling()</a>.</p>
<p>To get information about a node or tree use <a class="el" href="classGlib_1_1NodeTree.html#a6db591b00c6b0919a31923a514537d3d" title="Returns true if this is a leaf node. ">is_leaf()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a6850d714664de7b659c5284017314e52" title="Returns true if this is the root node. ">is_root()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a62ba8a4424b492054e4952b0ffb26970" title="Gets the depth of this node. ">depth()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a1f40dc7a5831e3a0c62a23d8c0357e17" title="Gets the number of nodes in a tree. ">node_count()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a631fe16eddf3f5686dcee6b89acffe09" title="Gets the number children. ">child_count()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ae609145435fb0dab1e7d661c1514cd76" title="Returns true if this is an ancestor of descendant. ">is_ancestor()</a> or max_height().</p>
<p>To traverse a tree, calling a function for each node visited in the traversal, use <a class="el" href="classGlib_1_1NodeTree.html#a88164f3d6446ba63db1c7e633d1f042d" title="Traverses a tree starting at the current node. ">traverse()</a> or <a class="el" href="classGlib_1_1NodeTree.html#ac4dae53c67e86593c5533e86a39a7c42" title="Calls a function for each of the children of a NodeTree. ">foreach()</a>.</p>
<p>To remove a node or subtree from a tree use <a class="el" href="classGlib_1_1NodeTree.html#a63d3fec697451d006c61f3b64df22c78" title="Unlinks a node from a tree, resulting in two separate trees. ">unlink()</a>.</p>
<dl class="since_2_18"><dt><b><a class="el" href="since_2_18.html#_since_2_18000007">Since glibmm 2.18:</a></b></dt><dd></dd></dl>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a2ec9935fad44739a6e4f051939812ef3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ec9935fad44739a6e4f051939812ef3">&#9670;&#160;</a></span>ForeachFunc</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::<a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a> =  <a class="elRef" doxygen="libsigc++-2.0.tag:http://library.gnome.org/devel/libsigc++/unstable/" href="http://library.gnome.org/devel/libsigc++/unstable/classsigc_1_1slot.html">sigc::slot</a>&lt;void, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp;&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a4ac30c5e3140bf48cc572a391e6169bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ac30c5e3140bf48cc572a391e6169bd">&#9670;&#160;</a></span>TraverseFunc</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::<a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a> =  <a class="elRef" doxygen="libsigc++-2.0.tag:http://library.gnome.org/devel/libsigc++/unstable/" href="http://library.gnome.org/devel/libsigc++/unstable/classsigc_1_1slot.html">sigc::slot</a>&lt;bool, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp;&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a24d62b0424afc56cef69022c36bb16c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24d62b0424afc56cef69022c36bb16c5">&#9670;&#160;</a></span>NodeTree() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa3909f3fe31329f176925791bbe368fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3909f3fe31329f176925791bbe368fb">&#9670;&#160;</a></span>NodeTree() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a> </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5c27a9b91aa532347e463f3629d20dd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c27a9b91aa532347e463f3629d20dd6">&#9670;&#160;</a></span>NodeTree() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a106a3ec5b9d0e0368aa43b4ef9bbe93e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a106a3ec5b9d0e0368aa43b4ef9bbe93e">&#9670;&#160;</a></span>~NodeTree()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::~<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes the instance and its children from the tree, freeing any memory allocated. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a65a5e8732e2b140233eb1450ab6f35d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65a5e8732e2b140233eb1450ab6f35d4">&#9670;&#160;</a></span>append()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the last child. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to append </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="ac8d7b7ce8b478dfd87b8227e621b943c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8d7b7ce8b478dfd87b8227e621b943c">&#9670;&#160;</a></span>append_data()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::append_data </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the last child. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">the_data</td><td>the data for the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="a631fe16eddf3f5686dcee6b89acffe09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a631fe16eddf3f5686dcee6b89acffe09">&#9670;&#160;</a></span>child_count()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">guint <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::child_count </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the number children. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of children. </dd></dl>

</div>
</div>
<a id="a59fd4d44ec020b284c85e8ed362abfa2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59fd4d44ec020b284c85e8ed362abfa2">&#9670;&#160;</a></span>child_index()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::child_index </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the position of the first child which contains the given data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">the_data</td><td>The data to find. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the child which contains data, or -1 if the data is not found. </dd></dl>

</div>
</div>
<a id="a0bdeba7cd3ab4d8edd985c5fbb624849"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bdeba7cd3ab4d8edd985c5fbb624849">&#9670;&#160;</a></span>child_position()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::child_position </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>child</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the position with respect to its siblings. </p>
<p>child must be a child of node. The first child is numbered 0, the second 1, and so on.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">child</td><td>A child </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The position of <em>child</em> with respect to its siblings. </dd></dl>

</div>
</div>
<a id="ae6159ff89698b40fea479cbafdc4f067"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6159ff89698b40fea479cbafdc4f067">&#9670;&#160;</a></span>data() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::data </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor for this node's data. </p>

</div>
</div>
<a id="a0075ee0e432ff8b12b46b6300fa7e5d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0075ee0e432ff8b12b46b6300fa7e5d6">&#9670;&#160;</a></span>data() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const T&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::data </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor for this node's data. </p>

</div>
</div>
<a id="a62ba8a4424b492054e4952b0ffb26970"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62ba8a4424b492054e4952b0ffb26970">&#9670;&#160;</a></span>depth()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">guint <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::depth </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the depth of this node. </p>
<p>The root node has a depth of 1. For the children of the root node the depth is 2. And so on.</p>
<dl class="section return"><dt>Returns</dt><dd>the depth of this node </dd></dl>

</div>
</div>
<a id="a2b7691f32ba16f902124c6c72110d1c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b7691f32ba16f902124c6c72110d1c5">&#9670;&#160;</a></span>find() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::find </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a>&#160;</td>
          <td class="paramname"><em>order</em> = <code><a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds a node in a tree. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">order</td><td>The order in which nodes are visited: IN_ORDER, TRAVERSE_PRE_ORDER, TRAVERSE_POST_ORDER, or TRAVERSE_LEVEL_ORDER </td></tr>
    <tr><td class="paramname">flags</td><td>Which types of children are to be visited: one of TRAVERSE_ALL, TRAVERSE_LEAVES and TRAVERSE_NON_LEAVES. </td></tr>
    <tr><td class="paramname">the_data</td><td>The data for which to search. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The found node, or <code>nullptr</code> if the data is not found. </dd></dl>

</div>
</div>
<a id="aa29d0eb083fa192a5715d09081b9daa2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa29d0eb083fa192a5715d09081b9daa2">&#9670;&#160;</a></span>find() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::find </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a>&#160;</td>
          <td class="paramname"><em>order</em> = <code><a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds a node in a tree. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">order</td><td>The order in which nodes are visited. </td></tr>
    <tr><td class="paramname">flags</td><td>Which types of children are to be visited. </td></tr>
    <tr><td class="paramname">the_data</td><td>The data for which to search. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The found node, or <code>nullptr</code> if the data is not found. </dd></dl>

</div>
</div>
<a id="a7a553e458203bcc295bafc07c3662e9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a553e458203bcc295bafc07c3662e9c">&#9670;&#160;</a></span>find_child() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::find_child </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the first child of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> with the given data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>Which types of children are to be visited, one of TRAVERSE_ALL, TRAVERSE_LEAVES and TRAVERSE_NON_LEAVES. </td></tr>
    <tr><td class="paramname">the_data</td><td>The data for which to search. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the found child, or <code>nullptr</code> if the data is not found </dd></dl>

</div>
</div>
<a id="a02c9685f50e67b6495a114b35647363b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02c9685f50e67b6495a114b35647363b">&#9670;&#160;</a></span>find_child() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::find_child </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds the first child of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> with the given data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>Which types of children are to be visited, one of TRAVERSE_ALL, TRAVERSE_LEAVES and TRAVERSE_NON_LEAVES. </td></tr>
    <tr><td class="paramname">the_data</td><td>The data for which to search. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the found child, or <code>nullptr</code> if the data is not found </dd></dl>

</div>
</div>
<a id="ab64b292bd177d3d513125953141e3de9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab64b292bd177d3d513125953141e3de9">&#9670;&#160;</a></span>first_child() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::first_child </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the first child. </p>
<dl class="section return"><dt>Returns</dt><dd>The first child, or <code>nullptr</code> if the node has no children. </dd></dl>

</div>
</div>
<a id="a0e75a3b1c293cb1092c2e2dc53acafd6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e75a3b1c293cb1092c2e2dc53acafd6">&#9670;&#160;</a></span>first_child() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::first_child </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the first child. </p>
<dl class="section return"><dt>Returns</dt><dd>The first child, or <code>nullptr</code> if the node has no children. </dd></dl>

</div>
</div>
<a id="a2021001eee1ff423ec2f0a759170e4fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2021001eee1ff423ec2f0a759170e4fd">&#9670;&#160;</a></span>first_sibling() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::first_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the first sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The first sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="a10ab733782982ea970c9d7c0190df83e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10ab733782982ea970c9d7c0190df83e">&#9670;&#160;</a></span>first_sibling() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::first_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the first sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The first sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="ac4dae53c67e86593c5533e86a39a7c42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4dae53c67e86593c5533e86a39a7c42">&#9670;&#160;</a></span>foreach()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::foreach </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a>&amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Calls a function for each of the children of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a>. </p>
<p>Note that it doesn't descend beneath the child nodes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>Wwhich types of children are to be visited. </td></tr>
    <tr><td class="paramname">func</td><td>The slot to invoke for each visited node. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad76a360f0c077fed74a66882cb88590f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad76a360f0c077fed74a66882cb88590f">&#9670;&#160;</a></span>get_max_height()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">guint <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::get_max_height </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the maximum height of all branches beneath this node. </p>
<p>This is the maximum distance from the node to all leaf nodes. If root has no children, 1 is returned. If root has children, 2 is returned. And so on.</p>
<dl class="section return"><dt>Returns</dt><dd>The maximum height of all branches. </dd></dl>

</div>
</div>
<a id="af0b6480bbb3d432db077c8a5a1682135"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0b6480bbb3d432db077c8a5a1682135">&#9670;&#160;</a></span>get_root() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::get_root </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a pointer to the root of the tree. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the root of the tree. </dd></dl>

</div>
</div>
<a id="ab9ff9f72ba622c70a4fb86e85abc4140"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9ff9f72ba622c70a4fb86e85abc4140">&#9670;&#160;</a></span>get_root() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::get_root </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a7571a3bcf836821859f83406179921d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7571a3bcf836821859f83406179921d9">&#9670;&#160;</a></span>gobj() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">GNode* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::gobj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides access to the underlying C GObject. </p>

</div>
</div>
<a id="a79204c4824ddd98b1b228d5f3fb639c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79204c4824ddd98b1b228d5f3fb639c9">&#9670;&#160;</a></span>gobj() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const GNode* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::gobj </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides access to the underlying C GObject. </p>

</div>
</div>
<a id="a664b7930de8a3d5b2f9f691d6a5d2e44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a664b7930de8a3d5b2f9f691d6a5d2e44">&#9670;&#160;</a></span>insert()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::insert </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent at the given position. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>the position to place node at, with respect to its siblings If position is -1, node is inserted as the last child of parent </td></tr>
    <tr><td class="paramname">node</td><td>the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to insert </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the inserted <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="a3217b1e57993a335daa02b7728385d32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3217b1e57993a335daa02b7728385d32">&#9670;&#160;</a></span>insert_after()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::insert_after </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>sibling</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent after the given sibling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sibling</td><td>the sibling <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to place node after. </td></tr>
    <tr><td class="paramname">node</td><td>the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to insert </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the inserted <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="a6c0185ff53ce6f0b6574b4b93c706a29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c0185ff53ce6f0b6574b4b93c706a29">&#9670;&#160;</a></span>insert_before()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::insert_before </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>sibling</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent before the given sibling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sibling</td><td>the sibling <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to place node before. </td></tr>
    <tr><td class="paramname">node</td><td>the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to insert </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the inserted <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="a988e1fd1fa5a91ac794ea859db7bcc85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a988e1fd1fa5a91ac794ea859db7bcc85">&#9670;&#160;</a></span>insert_data()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::insert_data </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> at the given position. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>the position to place the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> at. If position is -1, the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> is inserted as the last child of parent </td></tr>
    <tr><td class="paramname">the_data</td><td>the data for the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="aaa93210a10a5c3c3b31b728997354f81"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa93210a10a5c3c3b31b728997354f81">&#9670;&#160;</a></span>insert_data_before()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::insert_data_before </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>sibling</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> before the given sibling. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sibling</td><td>the sibling <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to place node before. </td></tr>
    <tr><td class="paramname">the_data</td><td>the data for the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="ae609145435fb0dab1e7d661c1514cd76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae609145435fb0dab1e7d661c1514cd76">&#9670;&#160;</a></span>is_ancestor()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::is_ancestor </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>descendant</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if this is an ancestor of <em>descendant</em>. </p>
<p>This is true if this is the parent of <em>descendant</em>, or if this is the grandparent of <em>descendant</em> etc.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">descendant</td><td>A node. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this is an ancestor of descendant. </dd></dl>

</div>
</div>
<a id="a6db591b00c6b0919a31923a514537d3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6db591b00c6b0919a31923a514537d3d">&#9670;&#160;</a></span>is_leaf()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::is_leaf </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if this is a leaf node. </p>
<dl class="section return"><dt>Returns</dt><dd>true if this is a leaf node. </dd></dl>

</div>
</div>
<a id="a6850d714664de7b659c5284017314e52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6850d714664de7b659c5284017314e52">&#9670;&#160;</a></span>is_root()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::is_root </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if this is the root node. </p>
<dl class="section return"><dt>Returns</dt><dd>true if this is the root node. </dd></dl>

</div>
</div>
<a id="a1ac3c8a683876db6aeb8834baeff29ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ac3c8a683876db6aeb8834baeff29ac">&#9670;&#160;</a></span>last_child() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::last_child </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the last child. </p>
<dl class="section return"><dt>Returns</dt><dd>The last child, or <code>nullptr</code> if the node has no children. </dd></dl>

</div>
</div>
<a id="a2611bea3bcae542fe8ee7cd27c3b0f9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2611bea3bcae542fe8ee7cd27c3b0f9f">&#9670;&#160;</a></span>last_child() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::last_child </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the last child. </p>
<dl class="section return"><dt>Returns</dt><dd>The last child, or <code>nullptr</code> if the node has no children. </dd></dl>

</div>
</div>
<a id="a958c88a651bacc95d5ec944bc96df580"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a958c88a651bacc95d5ec944bc96df580">&#9670;&#160;</a></span>last_sibling() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::last_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the last sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The last sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="abe133a3d0a95bc58898f233b0758e611"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe133a3d0a95bc58898f233b0758e611">&#9670;&#160;</a></span>last_sibling() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::last_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the last sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The last sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="a7b973fa140f0a392edf1d9f562c6809a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b973fa140f0a392edf1d9f562c6809a">&#9670;&#160;</a></span>next_sibling() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::next_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the next sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The next sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="a313d62a1eeb33bf67473c9980015f4b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a313d62a1eeb33bf67473c9980015f4b2">&#9670;&#160;</a></span>next_sibling() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::next_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the next sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The next sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="a1f40dc7a5831e3a0c62a23d8c0357e17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f40dc7a5831e3a0c62a23d8c0357e17">&#9670;&#160;</a></span>node_count()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">guint <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::node_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the number of nodes in a tree. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>Which types of children are to be counted: one of TRAVERSE_ALL, TRAVERSE_LEAVES and TRAVERSE_NON_LEAVES </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of nodes in the tree. </dd></dl>

</div>
</div>
<a id="ae956914aaa5bba966934bab270f9ee82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae956914aaa5bba966934bab270f9ee82">&#9670;&#160;</a></span>nth_child() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::nth_child </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the nth child. </p>
<dl class="section return"><dt>Returns</dt><dd>The nth child, or <code>nullptr</code> if n is too large. </dd></dl>

</div>
</div>
<a id="a8594dd900e23eabf3809e9eda71a1f96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8594dd900e23eabf3809e9eda71a1f96">&#9670;&#160;</a></span>nth_child() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::nth_child </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the nth child. </p>
<dl class="section return"><dt>Returns</dt><dd>The nth child, or <code>nullptr</code> if n is too large. </dd></dl>

</div>
</div>
<a id="af265f6f216ea9209cec39992dd0b6175"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af265f6f216ea9209cec39992dd0b6175">&#9670;&#160;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a4503c06f9f714e561f135f4532123e80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4503c06f9f714e561f135f4532123e80">&#9670;&#160;</a></span>parent()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::parent </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Accessor for this node's parent. </p>
<dl class="section return"><dt>Returns</dt><dd>The node's parent. </dd></dl>

</div>
</div>
<a id="ac6d84033181fdbe1d84491bf505d6a5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6d84033181fdbe1d84491bf505d6a5b">&#9670;&#160;</a></span>prepend()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp; <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::prepend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the first child. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">node</td><td>the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> to prepend </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="a2db3f440692e02d717bd9a4ec3b6604a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2db3f440692e02d717bd9a4ec3b6604a">&#9670;&#160;</a></span>prepend_data()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::prepend_data </td>
          <td>(</td>
          <td class="paramtype">const T &amp;&#160;</td>
          <td class="paramname"><em>the_data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the first child. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">the_data</td><td>the data for the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> </dd></dl>

</div>
</div>
<a id="a6ed1973b99c794b1e52fdcb2fc41ba19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ed1973b99c794b1e52fdcb2fc41ba19">&#9670;&#160;</a></span>prev_sibling() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::prev_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the previous sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The previous sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="a45284799e0100ad144c114740093a115"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45284799e0100ad144c114740093a115">&#9670;&#160;</a></span>prev_sibling() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::prev_sibling </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the previous sibling. </p>
<dl class="section return"><dt>Returns</dt><dd>The previous sibling, or <code>nullptr</code> if the node has no siblings. </dd></dl>

</div>
</div>
<a id="a125bbad27e6950b6d399b9746c9ffb60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a125bbad27e6950b6d399b9746c9ffb60">&#9670;&#160;</a></span>reverse_children()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::reverse_children </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reverses the order of the children. </p>

</div>
</div>
<a id="a88164f3d6446ba63db1c7e633d1f042d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88164f3d6446ba63db1c7e633d1f042d">&#9670;&#160;</a></span>traverse()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::traverse </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a>&amp;&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a>&#160;</td>
          <td class="paramname"><em>order</em> = <code><a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_depth</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Traverses a tree starting at the current node. </p>
<p>It calls the given function for each node visited. The traversal can be halted at any point by returning true from <em>func</em>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">order</td><td>The order in which nodes are visited. </td></tr>
    <tr><td class="paramname">flags</td><td>Which types of children are to be visited. </td></tr>
    <tr><td class="paramname">max_depth</td><td>The maximum depth of the traversal. Nodes below this depth will not be visited. If max_depth is -1 all nodes in the tree are visited. If max_depth is 1, only the root is visited. If max_depth is 2, the root and its children are visited. And so on. </td></tr>
    <tr><td class="paramname">func</td><td>the slot to invoke for each visited child </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a63d3fec697451d006c61f3b64df22c78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63d3fec697451d006c61f3b64df22c78">&#9670;&#160;</a></span>unlink()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::unlink </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unlinks a node from a tree, resulting in two separate trees. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 31 2018 09:12:10 for glibmm by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>