方法
GLibNodetraverse
声明 [src]
void
g_node_traverse (
GNode* root,
GTraverseType order,
GTraverseFlags flags,
gint max_depth,
GNodeTraverseFunc func,
gpointer data
)
描述 [src]
从给定的根 GNode
开始遍历树。对于每个访问的节点,它会调用给定的函数。在任意点可以通过从 func
返回 TRUE
来停止遍历。函数 func
不应该做任何会修改树结构的事情。
参数
order
-
类型:
GTraverseType
节点访问的顺序 -
G_IN_ORDER
、G_PRE_ORDER
、G_POST_ORDER
或G_LEVEL_ORDER
。 flags
-
类型:
GTraverseFlags
要访问的子节点类型,可以是
G_TRAVERSE_ALL
、G_TRAVERSE_LEAVES
和G_TRAVERSE_NON_LEAVES
中的一个。 max_depth
-
类型:
gint
遍历的最大深度。深度低于此的节点不会被访问。如果 max_depth 为 -1,则访问树中的所有节点。如果 depth 为 1,则只访问根节点。如果 depth 为 2,则访问根及其子节点。依此类推。
func
-
为每个访问的
GNode
调用的函数。 data
-
类型:
gpointer
传递给函数的用户数据。
参数可以为 NULL
。数据由方法的调用者所有。