<!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< T > 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
 <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> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="classGlib_1_1NodeTree-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Glib::NodeTree< T > 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 <glibmm/nodetree.h></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  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> { <br />
  <a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea7da8793fdd0c433870a5e6c2e3152898">TRAVERSE_LEAVES</a> = G_TRAVERSE_LEAVES,
<br />
  <a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea6473ae1f054172ae349d01003fabf37f">TRAVERSE_NON_LEAVES</a> = G_TRAVERSE_NON_LEAVES,
<br />
  <a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a> = G_TRAVERSE_ALL,
<br />
  <a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea6832c7b45443db4eed6f4cfbd3c04b69">TRAVERSE_MASK</a> = G_TRAVERSE_MASK
<br />
}<tr class="memdesc:gad11179d39a4991e5b09f145d594a450e"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a4ac30c5e3140bf48cc572a391e6169bd"><td class="memItemLeft" align="right" valign="top">using </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>< bool, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& ></td></tr>
<tr class="separator:a4ac30c5e3140bf48cc572a391e6169bd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2ec9935fad44739a6e4f051939812ef3"><td class="memItemLeft" align="right" valign="top">using </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>< void, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& ></td></tr>
<tr class="separator:a2ec9935fad44739a6e4f051939812ef3"><td class="memSeparator" colspan="2"> </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"> </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"> </td></tr>
<tr class="memitem:aa3909f3fe31329f176925791bbe368fb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa3909f3fe31329f176925791bbe368fb">NodeTree</a> (const T& the_data)</td></tr>
<tr class="separator:aa3909f3fe31329f176925791bbe368fb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c27a9b91aa532347e463f3629d20dd6"><td class="memItemLeft" align="right" valign="top"> </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>< T >& node)</td></tr>
<tr class="separator:a5c27a9b91aa532347e463f3629d20dd6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="memItemLeft" align="right" valign="top"> </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"> </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"> </td></tr>
<tr class="memitem:af265f6f216ea9209cec39992dd0b6175"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& node)</td></tr>
<tr class="separator:af265f6f216ea9209cec39992dd0b6175"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7571a3bcf836821859f83406179921d9"><td class="memItemLeft" align="right" valign="top">GNode* </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"> </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"> </td></tr>
<tr class="memitem:a79204c4824ddd98b1b228d5f3fb639c9"><td class="memItemLeft" align="right" valign="top">const GNode* </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"> </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"> </td></tr>
<tr class="memitem:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& node)</td></tr>
<tr class="memdesc:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& sibling, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& node)</td></tr>
<tr class="memdesc:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a3217b1e57993a335daa02b7728385d32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& sibling, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& node)</td></tr>
<tr class="memdesc:a3217b1e57993a335daa02b7728385d32"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a65a5e8732e2b140233eb1450ab6f35d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& node)</td></tr>
<tr class="memdesc:a65a5e8732e2b140233eb1450ab6f35d4"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:ac6d84033181fdbe1d84491bf505d6a5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& node)</td></tr>
<tr class="memdesc:ac6d84033181fdbe1d84491bf505d6a5b"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a988e1fd1fa5a91ac794ea859db7bcc85">insert_data</a> (int position, const T& the_data)</td></tr>
<tr class="memdesc:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:aaa93210a10a5c3c3b31b728997354f81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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>< T >& sibling, const T& the_data)</td></tr>
<tr class="memdesc:aaa93210a10a5c3c3b31b728997354f81"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac8d7b7ce8b478dfd87b8227e621b943c">append_data</a> (const T& the_data)</td></tr>
<tr class="memdesc:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a2db3f440692e02d717bd9a4ec3b6604a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2db3f440692e02d717bd9a4ec3b6604a">prepend_data</a> (const T& the_data)</td></tr>
<tr class="memdesc:a2db3f440692e02d717bd9a4ec3b6604a"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a125bbad27e6950b6d399b9746c9ffb60"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr>
<tr class="memitem:af0b6480bbb3d432db077c8a5a1682135"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:ab9ff9f72ba622c70a4fb86e85abc4140"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </td></tr>
<tr class="memitem:a88164f3d6446ba63db1c7e633d1f042d"><td class="memItemLeft" align="right" valign="top">void </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>& 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"> </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"> </td></tr>
<tr class="memitem:ac4dae53c67e86593c5533e86a39a7c42"><td class="memItemLeft" align="right" valign="top">void </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>& 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"> </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"> </td></tr>
<tr class="memitem:a7a553e458203bcc295bafc07c3662e9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7a553e458203bcc295bafc07c3662e9c">find_child</a> (const T& 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"> </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"> </td></tr>
<tr class="memitem:a02c9685f50e67b6495a114b35647363b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a02c9685f50e67b6495a114b35647363b">find_child</a> (const T& 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"> </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"> </td></tr>
<tr class="memitem:a2b7691f32ba16f902124c6c72110d1c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2b7691f32ba16f902124c6c72110d1c5">find</a> (const T& 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"> </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"> </td></tr>
<tr class="memitem:aa29d0eb083fa192a5715d09081b9daa2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa29d0eb083fa192a5715d09081b9daa2">find</a> (const T& 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"> </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"> </td></tr>
<tr class="memitem:a59fd4d44ec020b284c85e8ed362abfa2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a59fd4d44ec020b284c85e8ed362abfa2">child_index</a> (const T& the_data) const</td></tr>
<tr class="memdesc:a59fd4d44ec020b284c85e8ed362abfa2"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a0bdeba7cd3ab4d8edd985c5fbb624849"><td class="memItemLeft" align="right" valign="top">int </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>< T >& child) const</td></tr>
<tr class="memdesc:a0bdeba7cd3ab4d8edd985c5fbb624849"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:ab64b292bd177d3d513125953141e3de9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a0e75a3b1c293cb1092c2e2dc53acafd6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a1ac3c8a683876db6aeb8834baeff29ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a2611bea3bcae542fe8ee7cd27c3b0f9f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:ae956914aaa5bba966934bab270f9ee82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a8594dd900e23eabf3809e9eda71a1f96"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a2021001eee1ff423ec2f0a759170e4fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a10ab733782982ea970c9d7c0190df83e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a45284799e0100ad144c114740093a115"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a7b973fa140f0a392edf1d9f562c6809a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a313d62a1eeb33bf67473c9980015f4b2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a958c88a651bacc95d5ec944bc96df580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:abe133a3d0a95bc58898f233b0758e611"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
<tr class="memitem:a6db591b00c6b0919a31923a514537d3d"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr>
<tr class="memitem:a6850d714664de7b659c5284017314e52"><td class="memItemLeft" align="right" valign="top">bool </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"> </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"> </td></tr>
<tr class="memitem:a62ba8a4424b492054e4952b0ffb26970"><td class="memItemLeft" align="right" valign="top">guint </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"> </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"> </td></tr>
<tr class="memitem:a1f40dc7a5831e3a0c62a23d8c0357e17"><td class="memItemLeft" align="right" valign="top">guint </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"> </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"> </td></tr>
<tr class="memitem:a631fe16eddf3f5686dcee6b89acffe09"><td class="memItemLeft" align="right" valign="top">guint </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"> </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"> </td></tr>
<tr class="memitem:ae609145435fb0dab1e7d661c1514cd76"><td class="memItemLeft" align="right" valign="top">bool </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>< T >& descendant) const</td></tr>
<tr class="memdesc:ae609145435fb0dab1e7d661c1514cd76"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:ad76a360f0c077fed74a66882cb88590f"><td class="memItemLeft" align="right" valign="top">guint </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"> </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"> </td></tr>
<tr class="memitem:a63d3fec697451d006c61f3b64df22c78"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr>
<tr class="memitem:ae6159ff89698b40fea479cbafdc4f067"><td class="memItemLeft" align="right" valign="top">T& </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"> </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"> </td></tr>
<tr class="memitem:a0075ee0e432ff8b12b46b6300fa7e5d6"><td class="memItemLeft" align="right" valign="top">const T& </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"> </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"> </td></tr>
<tr class="memitem:a4503c06f9f714e561f135f4532123e80"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >* </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"> </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"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template<typename T><br />
class Glib::NodeTree< T ></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">◆ </a></span>ForeachFunc</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::<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><void, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a><T>&></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4ac30c5e3140bf48cc572a391e6169bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ac30c5e3140bf48cc572a391e6169bd">◆ </a></span>TraverseFunc</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::<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><bool, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a><T>&></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
<a id="a24d62b0424afc56cef69022c36bb16c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24d62b0424afc56cef69022c36bb16c5">◆ </a></span>NodeTree() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::<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">◆ </a></span>NodeTree() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a> </td>
<td>(</td>
<td class="paramtype">const T & </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">◆ </a></span>NodeTree() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::<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>< T >& </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">◆ </a></span>~NodeTree()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::~<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">◆ </a></span>append()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::append </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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">◆ </a></span>append_data()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::append_data </td>
<td>(</td>
<td class="paramtype">const T & </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">◆ </a></span>child_count()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>child_index()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::child_index </td>
<td>(</td>
<td class="paramtype">const T & </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">◆ </a></span>child_position()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::child_position </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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">◆ </a></span>data() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>data() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const T& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>depth()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>find() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::find </td>
<td>(</td>
<td class="paramtype">const T & </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> </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> </td>
<td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code> </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">◆ </a></span>find() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::find </td>
<td>(</td>
<td class="paramtype">const T & </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> </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> </td>
<td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code> </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">◆ </a></span>find_child() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::find_child </td>
<td>(</td>
<td class="paramtype">const T & </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> </td>
<td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code> </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">◆ </a></span>find_child() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::find_child </td>
<td>(</td>
<td class="paramtype">const T & </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> </td>
<td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code> </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">◆ </a></span>first_child() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>first_child() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>first_sibling() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>first_sibling() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>foreach()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::foreach </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a>& </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> </td>
<td class="paramname"><em>flags</em> = <code><a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a></code> </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">◆ </a></span>get_max_height()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>get_root() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>get_root() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>gobj() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>gobj() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>insert()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::insert </td>
<td>(</td>
<td class="paramtype">int </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>< T >& </td>
<td class="paramname"><em>node</em> </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">◆ </a></span>insert_after()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::insert_after </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& </td>
<td class="paramname"><em>node</em> </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">◆ </a></span>insert_before()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::insert_before </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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>< T >& </td>
<td class="paramname"><em>node</em> </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">◆ </a></span>insert_data()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::insert_data </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"><em>position</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T & </td>
<td class="paramname"><em>the_data</em> </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">◆ </a></span>insert_data_before()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::insert_data_before </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </td>
<td class="paramname"><em>sibling</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const T & </td>
<td class="paramname"><em>the_data</em> </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">◆ </a></span>is_ancestor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::is_ancestor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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">◆ </a></span>is_leaf()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>is_root()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>last_child() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>last_child() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>last_sibling() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>last_sibling() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>next_sibling() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>next_sibling() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>node_count()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::node_count </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> </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">◆ </a></span>nth_child() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::nth_child </td>
<td>(</td>
<td class="paramtype">int </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">◆ </a></span>nth_child() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::nth_child </td>
<td>(</td>
<td class="paramtype">int </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">◆ </a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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">◆ </a></span>parent()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>prepend()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>& <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::prepend </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>< T >& </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">◆ </a></span>prepend_data()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::prepend_data </td>
<td>(</td>
<td class="paramtype">const T & </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">◆ </a></span>prev_sibling() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>prev_sibling() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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><T>* <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>< T >::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">◆ </a></span>reverse_children()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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">◆ </a></span>traverse()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::traverse </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a>& </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> </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> </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 </td>
<td class="paramname"><em>max_depth</em> = <code>-1</code> </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">◆ </a></span>unlink()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T > </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>< T >::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  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>