Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 3b996fe272685bfa229e6a8dcb542001 > files > 532

glibmm2.4-doc-2.60.0-1.mga7.noarch.rpm

<!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.11"/>
<title>glibmm: Glib::NodeTree&lt; T &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">glibmm
   &#160;<span id="projectnumber">2.60.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceGlib.html">Glib</a></li><li class="navelem"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classGlib_1_1NodeTree-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Glib::NodeTree&lt; T &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

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

<p><code>#include &lt;glibmm/nodetree.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a4ac30c5e3140bf48cc572a391e6169bd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a> = <a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot.html">sigc::slot</a>&lt; bool, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; &gt;</td></tr>
<tr class="separator:a4ac30c5e3140bf48cc572a391e6169bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ec9935fad44739a6e4f051939812ef3"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a> = <a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot.html">sigc::slot</a>&lt; void, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; &gt;</td></tr>
<tr class="separator:a2ec9935fad44739a6e4f051939812ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a24d62b0424afc56cef69022c36bb16c5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a24d62b0424afc56cef69022c36bb16c5">NodeTree</a> ()</td></tr>
<tr class="separator:a24d62b0424afc56cef69022c36bb16c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3909f3fe31329f176925791bbe368fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa3909f3fe31329f176925791bbe368fb">NodeTree</a> (const T&amp; the_data)</td></tr>
<tr class="separator:aa3909f3fe31329f176925791bbe368fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c27a9b91aa532347e463f3629d20dd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a5c27a9b91aa532347e463f3629d20dd6">NodeTree</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="separator:a5c27a9b91aa532347e463f3629d20dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a106a3ec5b9d0e0368aa43b4ef9bbe93e">~NodeTree</a> ()</td></tr>
<tr class="memdesc:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the instance and its children from the tree, freeing any memory allocated.  <a href="#a106a3ec5b9d0e0368aa43b4ef9bbe93e">More...</a><br /></td></tr>
<tr class="separator:a106a3ec5b9d0e0368aa43b4ef9bbe93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af265f6f216ea9209cec39992dd0b6175"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#af265f6f216ea9209cec39992dd0b6175">operator=</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="separator:af265f6f216ea9209cec39992dd0b6175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7571a3bcf836821859f83406179921d9"><td class="memItemLeft" align="right" valign="top">GNode*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7571a3bcf836821859f83406179921d9">gobj</a> ()</td></tr>
<tr class="memdesc:a7571a3bcf836821859f83406179921d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C GObject.  <a href="#a7571a3bcf836821859f83406179921d9">More...</a><br /></td></tr>
<tr class="separator:a7571a3bcf836821859f83406179921d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d863d06ce73068895485b3a8b25e5c"><td class="memItemLeft" align="right" valign="top">const GNode*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a48d863d06ce73068895485b3a8b25e5c">gobj</a> () const </td></tr>
<tr class="memdesc:a48d863d06ce73068895485b3a8b25e5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the underlying C GObject.  <a href="#a48d863d06ce73068895485b3a8b25e5c">More...</a><br /></td></tr>
<tr class="separator:a48d863d06ce73068895485b3a8b25e5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a664b7930de8a3d5b2f9f691d6a5d2e44">insert</a> (int position, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent at the given position.  <a href="#a664b7930de8a3d5b2f9f691d6a5d2e44">More...</a><br /></td></tr>
<tr class="separator:a664b7930de8a3d5b2f9f691d6a5d2e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a6c0185ff53ce6f0b6574b4b93c706a29">insert_before</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; sibling, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent before the given sibling.  <a href="#a6c0185ff53ce6f0b6574b4b93c706a29">More...</a><br /></td></tr>
<tr class="separator:a6c0185ff53ce6f0b6574b4b93c706a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3217b1e57993a335daa02b7728385d32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a3217b1e57993a335daa02b7728385d32">insert_after</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; sibling, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a3217b1e57993a335daa02b7728385d32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> beneath the parent after the given sibling.  <a href="#a3217b1e57993a335daa02b7728385d32">More...</a><br /></td></tr>
<tr class="separator:a3217b1e57993a335daa02b7728385d32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65a5e8732e2b140233eb1450ab6f35d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a65a5e8732e2b140233eb1450ab6f35d4">append</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:a65a5e8732e2b140233eb1450ab6f35d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the last child.  <a href="#a65a5e8732e2b140233eb1450ab6f35d4">More...</a><br /></td></tr>
<tr class="separator:a65a5e8732e2b140233eb1450ab6f35d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6d84033181fdbe1d84491bf505d6a5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac6d84033181fdbe1d84491bf505d6a5b">prepend</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; node)</td></tr>
<tr class="memdesc:ac6d84033181fdbe1d84491bf505d6a5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the first child.  <a href="#ac6d84033181fdbe1d84491bf505d6a5b">More...</a><br /></td></tr>
<tr class="separator:ac6d84033181fdbe1d84491bf505d6a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a988e1fd1fa5a91ac794ea859db7bcc85">insert_data</a> (int position, const T&amp; the_data)</td></tr>
<tr class="memdesc:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> at the given position.  <a href="#a988e1fd1fa5a91ac794ea859db7bcc85">More...</a><br /></td></tr>
<tr class="separator:a988e1fd1fa5a91ac794ea859db7bcc85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa93210a10a5c3c3b31b728997354f81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aaa93210a10a5c3c3b31b728997354f81">insert_data_before</a> (<a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; sibling, const T&amp; the_data)</td></tr>
<tr class="memdesc:aaa93210a10a5c3c3b31b728997354f81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> before the given sibling.  <a href="#aaa93210a10a5c3c3b31b728997354f81">More...</a><br /></td></tr>
<tr class="separator:aaa93210a10a5c3c3b31b728997354f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac8d7b7ce8b478dfd87b8227e621b943c">append_data</a> (const T&amp; the_data)</td></tr>
<tr class="memdesc:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the last child.  <a href="#ac8d7b7ce8b478dfd87b8227e621b943c">More...</a><br /></td></tr>
<tr class="separator:ac8d7b7ce8b478dfd87b8227e621b943c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db3f440692e02d717bd9a4ec3b6604a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2db3f440692e02d717bd9a4ec3b6604a">prepend_data</a> (const T&amp; the_data)</td></tr>
<tr class="memdesc:a2db3f440692e02d717bd9a4ec3b6604a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a new <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> as the first child.  <a href="#a2db3f440692e02d717bd9a4ec3b6604a">More...</a><br /></td></tr>
<tr class="separator:a2db3f440692e02d717bd9a4ec3b6604a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a125bbad27e6950b6d399b9746c9ffb60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a125bbad27e6950b6d399b9746c9ffb60">reverse_children</a> ()</td></tr>
<tr class="memdesc:a125bbad27e6950b6d399b9746c9ffb60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverses the order of the children.  <a href="#a125bbad27e6950b6d399b9746c9ffb60">More...</a><br /></td></tr>
<tr class="separator:a125bbad27e6950b6d399b9746c9ffb60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b6480bbb3d432db077c8a5a1682135"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#af0b6480bbb3d432db077c8a5a1682135">get_root</a> ()</td></tr>
<tr class="memdesc:af0b6480bbb3d432db077c8a5a1682135"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the root of the tree.  <a href="#af0b6480bbb3d432db077c8a5a1682135">More...</a><br /></td></tr>
<tr class="separator:af0b6480bbb3d432db077c8a5a1682135"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a618273dca912e2d3d0c2d3991afdf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa1a618273dca912e2d3d0c2d3991afdf">get_root</a> () const </td></tr>
<tr class="separator:aa1a618273dca912e2d3d0c2d3991afdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88164f3d6446ba63db1c7e633d1f042d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a88164f3d6446ba63db1c7e633d1f042d">traverse</a> (const <a class="el" href="classGlib_1_1NodeTree.html#a4ac30c5e3140bf48cc572a391e6169bd">TraverseFunc</a>&amp; func, <a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a> order=<a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a>, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>, int max_depth=-1)</td></tr>
<tr class="memdesc:a88164f3d6446ba63db1c7e633d1f042d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Traverses a tree starting at the current node.  <a href="#a88164f3d6446ba63db1c7e633d1f042d">More...</a><br /></td></tr>
<tr class="separator:a88164f3d6446ba63db1c7e633d1f042d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4dae53c67e86593c5533e86a39a7c42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac4dae53c67e86593c5533e86a39a7c42">foreach</a> (const <a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a>&amp; func, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>)</td></tr>
<tr class="memdesc:ac4dae53c67e86593c5533e86a39a7c42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls a function for each of the children of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a>.  <a href="#ac4dae53c67e86593c5533e86a39a7c42">More...</a><br /></td></tr>
<tr class="separator:ac4dae53c67e86593c5533e86a39a7c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a553e458203bcc295bafc07c3662e9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7a553e458203bcc295bafc07c3662e9c">find_child</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>)</td></tr>
<tr class="memdesc:a7a553e458203bcc295bafc07c3662e9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the first child of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> with the given data.  <a href="#a7a553e458203bcc295bafc07c3662e9c">More...</a><br /></td></tr>
<tr class="separator:a7a553e458203bcc295bafc07c3662e9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10016f20b49c142f9582a5e69e956ee6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a10016f20b49c142f9582a5e69e956ee6">find_child</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>) const </td></tr>
<tr class="memdesc:a10016f20b49c142f9582a5e69e956ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the first child of a <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> with the given data.  <a href="#a10016f20b49c142f9582a5e69e956ee6">More...</a><br /></td></tr>
<tr class="separator:a10016f20b49c142f9582a5e69e956ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7691f32ba16f902124c6c72110d1c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2b7691f32ba16f902124c6c72110d1c5">find</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a> order=<a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a>, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>)</td></tr>
<tr class="memdesc:a2b7691f32ba16f902124c6c72110d1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a node in a tree.  <a href="#a2b7691f32ba16f902124c6c72110d1c5">More...</a><br /></td></tr>
<tr class="separator:a2b7691f32ba16f902124c6c72110d1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b95e45ee739d73cd35786c884d6880"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a84b95e45ee739d73cd35786c884d6880">find</a> (const T&amp; the_data, <a class="el" href="group__glibmmEnums.html#gae3a70fa1e451da068323419e8c98e9a9">TraverseType</a> order=<a class="el" href="group__glibmmEnums.html#ggae3a70fa1e451da068323419e8c98e9a9aa7f260b474a886df2bf1aefcfc0f14b2">TRAVERSE_IN_ORDER</a>, <a class="el" href="group__glibmmEnums.html#gad11179d39a4991e5b09f145d594a450e">TraverseFlags</a> flags=<a class="el" href="group__glibmmEnums.html#ggad11179d39a4991e5b09f145d594a450ea1be75d605b0c93ca7932110467536670">TRAVERSE_ALL</a>) const </td></tr>
<tr class="memdesc:a84b95e45ee739d73cd35786c884d6880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a node in a tree.  <a href="#a84b95e45ee739d73cd35786c884d6880">More...</a><br /></td></tr>
<tr class="separator:a84b95e45ee739d73cd35786c884d6880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa900e05a5eb8ae321b4569b412317d05"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa900e05a5eb8ae321b4569b412317d05">child_index</a> (const T&amp; the_data) const </td></tr>
<tr class="memdesc:aa900e05a5eb8ae321b4569b412317d05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the position of the first child which contains the given data.  <a href="#aa900e05a5eb8ae321b4569b412317d05">More...</a><br /></td></tr>
<tr class="separator:aa900e05a5eb8ae321b4569b412317d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6bc31fc9c26678a5968cbe4fd3d4ba1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ae6bc31fc9c26678a5968cbe4fd3d4ba1">child_position</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; child) const </td></tr>
<tr class="memdesc:ae6bc31fc9c26678a5968cbe4fd3d4ba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the position with respect to its siblings.  <a href="#ae6bc31fc9c26678a5968cbe4fd3d4ba1">More...</a><br /></td></tr>
<tr class="separator:ae6bc31fc9c26678a5968cbe4fd3d4ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab64b292bd177d3d513125953141e3de9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ab64b292bd177d3d513125953141e3de9">first_child</a> ()</td></tr>
<tr class="memdesc:ab64b292bd177d3d513125953141e3de9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first child.  <a href="#ab64b292bd177d3d513125953141e3de9">More...</a><br /></td></tr>
<tr class="separator:ab64b292bd177d3d513125953141e3de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accdea338939b60daa996850da811c71c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#accdea338939b60daa996850da811c71c">first_child</a> () const </td></tr>
<tr class="memdesc:accdea338939b60daa996850da811c71c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first child.  <a href="#accdea338939b60daa996850da811c71c">More...</a><br /></td></tr>
<tr class="separator:accdea338939b60daa996850da811c71c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac3c8a683876db6aeb8834baeff29ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a1ac3c8a683876db6aeb8834baeff29ac">last_child</a> ()</td></tr>
<tr class="memdesc:a1ac3c8a683876db6aeb8834baeff29ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last child.  <a href="#a1ac3c8a683876db6aeb8834baeff29ac">More...</a><br /></td></tr>
<tr class="separator:a1ac3c8a683876db6aeb8834baeff29ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad549d047b291491a525b2f0a1e3346"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#acad549d047b291491a525b2f0a1e3346">last_child</a> () const </td></tr>
<tr class="memdesc:acad549d047b291491a525b2f0a1e3346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last child.  <a href="#acad549d047b291491a525b2f0a1e3346">More...</a><br /></td></tr>
<tr class="separator:acad549d047b291491a525b2f0a1e3346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae956914aaa5bba966934bab270f9ee82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ae956914aaa5bba966934bab270f9ee82">nth_child</a> (int n)</td></tr>
<tr class="memdesc:ae956914aaa5bba966934bab270f9ee82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the nth child.  <a href="#ae956914aaa5bba966934bab270f9ee82">More...</a><br /></td></tr>
<tr class="separator:ae956914aaa5bba966934bab270f9ee82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92694bf6304a94fe68e8a01a525c5f4b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a92694bf6304a94fe68e8a01a525c5f4b">nth_child</a> (int n) const </td></tr>
<tr class="memdesc:a92694bf6304a94fe68e8a01a525c5f4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the nth child.  <a href="#a92694bf6304a94fe68e8a01a525c5f4b">More...</a><br /></td></tr>
<tr class="separator:a92694bf6304a94fe68e8a01a525c5f4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2021001eee1ff423ec2f0a759170e4fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a2021001eee1ff423ec2f0a759170e4fd">first_sibling</a> ()</td></tr>
<tr class="memdesc:a2021001eee1ff423ec2f0a759170e4fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first sibling.  <a href="#a2021001eee1ff423ec2f0a759170e4fd">More...</a><br /></td></tr>
<tr class="separator:a2021001eee1ff423ec2f0a759170e4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a255ef0115a5ce2c5b0d09b06a25b2860"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a255ef0115a5ce2c5b0d09b06a25b2860">first_sibling</a> () const </td></tr>
<tr class="memdesc:a255ef0115a5ce2c5b0d09b06a25b2860"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the first sibling.  <a href="#a255ef0115a5ce2c5b0d09b06a25b2860">More...</a><br /></td></tr>
<tr class="separator:a255ef0115a5ce2c5b0d09b06a25b2860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a6ed1973b99c794b1e52fdcb2fc41ba19">prev_sibling</a> ()</td></tr>
<tr class="memdesc:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the previous sibling.  <a href="#a6ed1973b99c794b1e52fdcb2fc41ba19">More...</a><br /></td></tr>
<tr class="separator:a6ed1973b99c794b1e52fdcb2fc41ba19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a13060df965cfe95ee2cdcc2ce1dc71"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a4a13060df965cfe95ee2cdcc2ce1dc71">prev_sibling</a> () const </td></tr>
<tr class="memdesc:a4a13060df965cfe95ee2cdcc2ce1dc71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the previous sibling.  <a href="#a4a13060df965cfe95ee2cdcc2ce1dc71">More...</a><br /></td></tr>
<tr class="separator:a4a13060df965cfe95ee2cdcc2ce1dc71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b973fa140f0a392edf1d9f562c6809a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a7b973fa140f0a392edf1d9f562c6809a">next_sibling</a> ()</td></tr>
<tr class="memdesc:a7b973fa140f0a392edf1d9f562c6809a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next sibling.  <a href="#a7b973fa140f0a392edf1d9f562c6809a">More...</a><br /></td></tr>
<tr class="separator:a7b973fa140f0a392edf1d9f562c6809a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7952c290182814a42eed558a3701b5a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#af7952c290182814a42eed558a3701b5a">next_sibling</a> () const </td></tr>
<tr class="memdesc:af7952c290182814a42eed558a3701b5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the next sibling.  <a href="#af7952c290182814a42eed558a3701b5a">More...</a><br /></td></tr>
<tr class="separator:af7952c290182814a42eed558a3701b5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a958c88a651bacc95d5ec944bc96df580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a958c88a651bacc95d5ec944bc96df580">last_sibling</a> ()</td></tr>
<tr class="memdesc:a958c88a651bacc95d5ec944bc96df580"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last sibling.  <a href="#a958c88a651bacc95d5ec944bc96df580">More...</a><br /></td></tr>
<tr class="separator:a958c88a651bacc95d5ec944bc96df580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a896b4501c34b121448a146bbb4b7165b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a896b4501c34b121448a146bbb4b7165b">last_sibling</a> () const </td></tr>
<tr class="memdesc:a896b4501c34b121448a146bbb4b7165b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last sibling.  <a href="#a896b4501c34b121448a146bbb4b7165b">More...</a><br /></td></tr>
<tr class="separator:a896b4501c34b121448a146bbb4b7165b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b245acd3b836f19b2ed17a584cffca3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a4b245acd3b836f19b2ed17a584cffca3">is_leaf</a> () const </td></tr>
<tr class="memdesc:a4b245acd3b836f19b2ed17a584cffca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is a leaf node.  <a href="#a4b245acd3b836f19b2ed17a584cffca3">More...</a><br /></td></tr>
<tr class="separator:a4b245acd3b836f19b2ed17a584cffca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e8f12f34a1091df1fd7690b374cd0e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#aa0e8f12f34a1091df1fd7690b374cd0e">is_root</a> () const </td></tr>
<tr class="memdesc:aa0e8f12f34a1091df1fd7690b374cd0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is the root node.  <a href="#aa0e8f12f34a1091df1fd7690b374cd0e">More...</a><br /></td></tr>
<tr class="separator:aa0e8f12f34a1091df1fd7690b374cd0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ecb9d86f4e6d84a1ee5e98c400861a"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac1ecb9d86f4e6d84a1ee5e98c400861a">depth</a> () const </td></tr>
<tr class="memdesc:ac1ecb9d86f4e6d84a1ee5e98c400861a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the depth of this node.  <a href="#ac1ecb9d86f4e6d84a1ee5e98c400861a">More...</a><br /></td></tr>
<tr class="separator:ac1ecb9d86f4e6d84a1ee5e98c400861a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95893b710363a62b6cc50bc350a3986c"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a95893b710363a62b6cc50bc350a3986c">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:a95893b710363a62b6cc50bc350a3986c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of nodes in a tree.  <a href="#a95893b710363a62b6cc50bc350a3986c">More...</a><br /></td></tr>
<tr class="separator:a95893b710363a62b6cc50bc350a3986c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac787f9ab75c5c765a17317a16d73a518"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ac787f9ab75c5c765a17317a16d73a518">child_count</a> () const </td></tr>
<tr class="memdesc:ac787f9ab75c5c765a17317a16d73a518"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number children.  <a href="#ac787f9ab75c5c765a17317a16d73a518">More...</a><br /></td></tr>
<tr class="separator:ac787f9ab75c5c765a17317a16d73a518"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acff54c49a239add277672c971c96c686"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#acff54c49a239add277672c971c96c686">is_ancestor</a> (const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;&amp; descendant) const </td></tr>
<tr class="memdesc:acff54c49a239add277672c971c96c686"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this is an ancestor of <em>descendant</em>.  <a href="#acff54c49a239add277672c971c96c686">More...</a><br /></td></tr>
<tr class="separator:acff54c49a239add277672c971c96c686"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a034f08972248866c2563ea60993add7c"><td class="memItemLeft" align="right" valign="top">guint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a034f08972248866c2563ea60993add7c">get_max_height</a> () const </td></tr>
<tr class="memdesc:a034f08972248866c2563ea60993add7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the maximum height of all branches beneath this node.  <a href="#a034f08972248866c2563ea60993add7c">More...</a><br /></td></tr>
<tr class="separator:a034f08972248866c2563ea60993add7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d3fec697451d006c61f3b64df22c78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a63d3fec697451d006c61f3b64df22c78">unlink</a> ()</td></tr>
<tr class="memdesc:a63d3fec697451d006c61f3b64df22c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unlinks a node from a tree, resulting in two separate trees.  <a href="#a63d3fec697451d006c61f3b64df22c78">More...</a><br /></td></tr>
<tr class="separator:a63d3fec697451d006c61f3b64df22c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6159ff89698b40fea479cbafdc4f067"><td class="memItemLeft" align="right" valign="top">T&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#ae6159ff89698b40fea479cbafdc4f067">data</a> ()</td></tr>
<tr class="memdesc:ae6159ff89698b40fea479cbafdc4f067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for this node's data.  <a href="#ae6159ff89698b40fea479cbafdc4f067">More...</a><br /></td></tr>
<tr class="separator:ae6159ff89698b40fea479cbafdc4f067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205cdaaa7bf5eb6a3750c8d4609dd122"><td class="memItemLeft" align="right" valign="top">const T&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a205cdaaa7bf5eb6a3750c8d4609dd122">data</a> () const </td></tr>
<tr class="memdesc:a205cdaaa7bf5eb6a3750c8d4609dd122"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for this node's data.  <a href="#a205cdaaa7bf5eb6a3750c8d4609dd122">More...</a><br /></td></tr>
<tr class="separator:a205cdaaa7bf5eb6a3750c8d4609dd122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a58a1c8f02136d52998a62897c5945d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt; T &gt;*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1NodeTree.html#a9a58a1c8f02136d52998a62897c5945d">parent</a> () const </td></tr>
<tr class="memdesc:a9a58a1c8f02136d52998a62897c5945d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessor for this node's parent.  <a href="#a9a58a1c8f02136d52998a62897c5945d">More...</a><br /></td></tr>
<tr class="separator:a9a58a1c8f02136d52998a62897c5945d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T&gt;<br />
class Glib::NodeTree&lt; T &gt;</h3>

<p>N-ary Trees - trees of data with any number of branches The <a class="el" href="classGlib_1_1NodeTree.html" title="N-ary Trees - trees of data with any number of branches The NodeTree class and its associated functio...">NodeTree</a> class and its associated functions provide an N-ary tree data structure, in which nodes in the tree can contain arbitrary data. </p>
<p>To insert a node into a tree use <a class="el" href="classGlib_1_1NodeTree.html#a664b7930de8a3d5b2f9f691d6a5d2e44" title="Inserts a NodeTree beneath the parent at the given position. ">insert()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a6c0185ff53ce6f0b6574b4b93c706a29" title="Inserts a NodeTree beneath the parent before the given sibling. ">insert_before()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a65a5e8732e2b140233eb1450ab6f35d4" title="Inserts a NodeTree as the last child. ">append()</a> or <a class="el" href="classGlib_1_1NodeTree.html#ac6d84033181fdbe1d84491bf505d6a5b" title="Inserts a NodeTree as the first child. ">prepend()</a>.</p>
<p>To create a new node and insert it into a tree use <a class="el" href="classGlib_1_1NodeTree.html#a988e1fd1fa5a91ac794ea859db7bcc85" title="Inserts a new NodeTree at the given position. ">insert_data()</a>, <a class="el" href="classGlib_1_1NodeTree.html#aaa93210a10a5c3c3b31b728997354f81" title="Inserts a new NodeTree before the given sibling. ">insert_data_before()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ac8d7b7ce8b478dfd87b8227e621b943c" title="Inserts a new NodeTree as the last child. ">append_data()</a> and <a class="el" href="classGlib_1_1NodeTree.html#a2db3f440692e02d717bd9a4ec3b6604a" title="Inserts a new NodeTree as the first child. ">prepend_data()</a>.</p>
<p>To reverse the children of a node use <a class="el" href="classGlib_1_1NodeTree.html#a125bbad27e6950b6d399b9746c9ffb60" title="Reverses the order of the children. ">reverse_children()</a>.</p>
<p>To find a node use root(), <a class="el" href="classGlib_1_1NodeTree.html#a2b7691f32ba16f902124c6c72110d1c5" title="Finds a node in a tree. ">find()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a7a553e458203bcc295bafc07c3662e9c" title="Finds the first child of a NodeTree with the given data. ">find_child()</a>, index_of(), <a class="el" href="classGlib_1_1NodeTree.html#aa900e05a5eb8ae321b4569b412317d05" 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#a4b245acd3b836f19b2ed17a584cffca3" title="Returns true if this is a leaf node. ">is_leaf()</a>, <a class="el" href="classGlib_1_1NodeTree.html#aa0e8f12f34a1091df1fd7690b374cd0e" title="Returns true if this is the root node. ">is_root()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ac1ecb9d86f4e6d84a1ee5e98c400861a" title="Gets the depth of this node. ">depth()</a>, <a class="el" href="classGlib_1_1NodeTree.html#a95893b710363a62b6cc50bc350a3986c" title="Gets the number of nodes in a tree. ">node_count()</a>, <a class="el" href="classGlib_1_1NodeTree.html#ac787f9ab75c5c765a17317a16d73a518" title="Gets the number children. ">child_count()</a>, <a class="el" href="classGlib_1_1NodeTree.html#acff54c49a239add277672c971c96c686" 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 class="anchor" id="a2ec9935fad44739a6e4f051939812ef3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classGlib_1_1NodeTree.html">Glib::NodeTree</a>&lt; T &gt;::<a class="el" href="classGlib_1_1NodeTree.html#a2ec9935fad44739a6e4f051939812ef3">ForeachFunc</a> =  <a class="elRef" href="../../../libsigc++-2.0/reference/html/classsigc_1_1slot.html">sigc::slot</a>&lt;void, <a class="el" href="classGlib_1_1NodeTree.html">NodeTree</a>&lt;T&gt;&amp;&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Mar 19 2019 09:56:46 for glibmm by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>