方法
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。数据由方法的调用者所有。