📄 glib-n-ary-trees.html
字号:
</tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td> the new <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3339877"></a><h3><a name="g-node-reverse-children"></a>g_node_reverse_children ()</h3><a class="indexterm" name="id3339890"></a><pre class="programlisting">void g_node_reverse_children (<a class="link" href="glib-N-ary-Trees.html#GNode">GNode</a> *node);</pre><p>Reverses the order of the children of a <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a>.(It doesn't change the order of the grandchildren.)</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td><td> a <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3339957"></a><h3><a name="g-node-traverse"></a>g_node_traverse ()</h3><a class="indexterm" name="id3339970"></a><pre class="programlisting">void g_node_traverse (<a class="link" href="glib-N-ary-Trees.html#GNode">GNode</a> *root, <a class="link" href="glib-Balanced-Binary-Trees.html#GTraverseType">GTraverseType</a> order, <a class="link" href="glib-N-ary-Trees.html#GTraverseFlags">GTraverseFlags</a> flags, <a class="link" href="glib-Basic-Types.html#gint">gint</a> max_depth, <a class="link" href="glib-N-ary-Trees.html#GNodeTraverseFunc">GNodeTraverseFunc</a> func, <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> data);</pre><p>Traverses a tree starting at the given root <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a>.It calls the given function for each node visited.The traversal can be halted at any point by returning <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> from <em class="parameter"><code>func</code></em>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>root</code></em> :</span></p></td><td> the root <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a> of the tree to traverse</td></tr><tr><td><p><span class="term"><em class="parameter"><code>order</code></em> :</span></p></td><td> the order in which nodes are visited - <a class="link" href="glib-Balanced-Binary-Trees.html#G-IN-ORDER:CAPS"><code class="literal">G_IN_ORDER</code></a>, <a class="link" href="glib-Balanced-Binary-Trees.html#G-PRE-ORDER:CAPS"><code class="literal">G_PRE_ORDER</code></a>, <a class="link" href="glib-Balanced-Binary-Trees.html#G-POST-ORDER:CAPS"><code class="literal">G_POST_ORDER</code></a>, or <a class="link" href="glib-Balanced-Binary-Trees.html#G-LEVEL-ORDER:CAPS"><code class="literal">G_LEVEL_ORDER</code></a>.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td><td> which types of children are to be visited, one of <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-ALL:CAPS"><code class="literal">G_TRAVERSE_ALL</code></a>, <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-LEAVES:CAPS"><code class="literal">G_TRAVERSE_LEAVES</code></a> and <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-NON-LEAVES:CAPS"><code class="literal">G_TRAVERSE_NON_LEAVES</code></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>max_depth</code></em> :</span></p></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 depth is 1, only the root is visited. If depth is 2, the root and its children are visited. And so on.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td><td> the function to call for each visited <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td><td> user data to pass to the function</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3340255"></a><h3><a name="GTraverseFlags"></a>enum GTraverseFlags</h3><a class="indexterm" name="id3340268"></a><pre class="programlisting">typedef enum{ G_TRAVERSE_LEAVES = 1 << 0, G_TRAVERSE_NON_LEAVES = 1 << 1, G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES, G_TRAVERSE_MASK = 0x03, G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES, G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES} GTraverseFlags;</pre><p>Specifies which nodes are visited during several of the tree functions,including <a class="link" href="glib-N-ary-Trees.html#g-node-traverse"><code class="function">g_node_traverse()</code></a> and <a class="link" href="glib-N-ary-Trees.html#g-node-find"><code class="function">g_node_find()</code></a>.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><a name="G-TRAVERSE-LEAVES:CAPS"></a><code class="literal">G_TRAVERSE_LEAVES</code></span></p></td><td>only leaf nodes should be visited. This name has been introduced in 2.6, for older version use <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-LEAFS:CAPS"><code class="literal">G_TRAVERSE_LEAFS</code></a>.</td></tr><tr><td><p><span class="term"><a name="G-TRAVERSE-NON-LEAVES:CAPS"></a><code class="literal">G_TRAVERSE_NON_LEAVES</code></span></p></td><td>only non-leaf nodes should be visited. This name has been introduced in 2.6, for older version use <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-NON-LEAFS:CAPS"><code class="literal">G_TRAVERSE_NON_LEAFS</code></a>.</td></tr><tr><td><p><span class="term"><a name="G-TRAVERSE-ALL:CAPS"></a><code class="literal">G_TRAVERSE_ALL</code></span></p></td><td>all nodes should be visited.</td></tr><tr><td><p><span class="term"><a name="G-TRAVERSE-MASK:CAPS"></a><code class="literal">G_TRAVERSE_MASK</code></span></p></td><td>a mask of all traverse flags.</td></tr><tr><td><p><span class="term"><a name="G-TRAVERSE-LEAFS:CAPS"></a><code class="literal">G_TRAVERSE_LEAFS</code></span></p></td><td>identical to <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-LEAVES:CAPS"><code class="literal">G_TRAVERSE_LEAVES</code></a>.</td></tr><tr><td><p><span class="term"><a name="G-TRAVERSE-NON-LEAFS:CAPS"></a><code class="literal">G_TRAVERSE_NON_LEAFS</code></span></p></td><td>identical to <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-NON-LEAVES:CAPS"><code class="literal">G_TRAVERSE_NON_LEAVES</code></a>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3340499"></a><h3><a name="GNodeTraverseFunc"></a>GNodeTraverseFunc ()</h3><a class="indexterm" name="id3340513"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a> (*GNodeTraverseFunc) (<a class="link" href="glib-N-ary-Trees.html#GNode">GNode</a> *node, <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> data);</pre><p>Specifies the type of function passed to <a class="link" href="glib-N-ary-Trees.html#g-node-traverse"><code class="function">g_node_traverse()</code></a>.The function is called with each of the nodes visited, together with theuser data passed to <a class="link" href="glib-N-ary-Trees.html#g-node-traverse"><code class="function">g_node_traverse()</code></a>.If the function returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the traversal is stopped.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td><td>a <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a>.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td><td>user data passed to <a class="link" href="glib-N-ary-Trees.html#g-node-traverse"><code class="function">g_node_traverse()</code></a>.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td><a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop the traversal.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3340653"></a><h3><a name="g-node-children-foreach"></a>g_node_children_foreach ()</h3><a class="indexterm" name="id3340666"></a><pre class="programlisting">void g_node_children_foreach (<a class="link" href="glib-N-ary-Trees.html#GNode">GNode</a> *node, <a class="link" href="glib-N-ary-Trees.html#GTraverseFlags">GTraverseFlags</a> flags, <a class="link" href="glib-N-ary-Trees.html#GNodeForeachFunc">GNodeForeachFunc</a> func, <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> data);</pre><p>Calls a function for each of the children of a <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a>.Note that it doesn't descend beneath the child nodes.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td><td> a <a class="link" href="glib-N-ary-Trees.html#GNode"><span class="type">GNode</span></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td><td> which types of children are to be visited, one of <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-ALL:CAPS"><code class="literal">G_TRAVERSE_ALL</code></a>, <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-LEAVES:CAPS"><code class="literal">G_TRAVERSE_LEAVES</code></a> and <a class="link" href="glib-N-ary-Trees.html#G-TRAVERSE-NON-LEAVES:CAPS"><code class="literal">G_TRAVERSE_NON_LEAVES</code></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>func</code></em> :</span></p></td><td> the function to call for each visited node</td></tr><tr><td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td><td> user data to pass to the function</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3340832"></a><h3><a name="GNodeForeachFunc"></a>GNodeForeachFunc ()</h3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -