结构体
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
不得执行任何可能修改树结构的操作。