结构体
GLibNode
描述 [源代码链接]
struct GNode {
gpointer data;
GNode* next;
GNode* prev;
GNode* parent;
GNode* children;
}
GNode 结构体表示 [n 元树][glib-N-ary-Trees] 中的一个节点。
结构成员
data包含节点的实际数据。
next指向节点的下一个兄弟节点(兄弟节点是另一个具有相同父节点的
GNode)。prev指向节点的前一个兄弟节点。
parent指向
GNode的父节点,如果GNode是树的根节点,则为NULL。children指向
GNode的第一个子节点。其他子节点可以通过使用每个子节点的next指针进行访问。
实例方法
g_node_is_ancestor
如果 node 是 descendant 的祖先,则返回 TRUE。如果 node 是 descendant 的父节点,或者 node 是 descendant 的祖父节点等,则是这种情况。
g_node_traverse
从给定的根 GNode 开始遍历一棵树。它为访问的每个节点调用给定的函数。通过从 func 返回 TRUE,可以随时停止遍历。func 不得执行任何可能修改树结构的操作。