方法

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_ORDERG_PRE_ORDERG_POST_ORDERG_LEVEL_ORDER

flags

类型: GTraverseFlags

要访问的子节点类型,可以是 G_TRAVERSE_ALLG_TRAVERSE_LEAVESG_TRAVERSE_NON_LEAVES 中的一个。

max_depth

类型: gint

遍历的最大深度。深度低于此的节点不会被访问。如果 max_depth 为 -1,则访问树中的所有节点。如果 depth 为 1,则只访问根节点。如果 depth 为 2,则访问根及其子节点。依此类推。

func

类型: GNodeTraverseFunc

为每个访问的 GNode 调用的函数。

data

类型: gpointer

传递给函数的用户数据。

参数可以为 NULL
数据由方法的调用者所有。