|
Data Structures |
struct | _GNode |
Defines |
#define | G_NODE_IS_ROOT(node) |
#define | G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL) |
#define | g_node_append(parent, node) g_node_insert_before ((parent), NULL, (node)) |
#define | g_node_insert_data(parent, position, data) g_node_insert ((parent), (position), g_node_new (data)) |
#define | g_node_insert_data_before(parent, sibling, data) g_node_insert_before ((parent), (sibling), g_node_new (data)) |
#define | g_node_prepend_data(parent, data) g_node_prepend ((parent), g_node_new (data)) |
#define | g_node_append_data(parent, data) g_node_insert_before ((parent), NULL, g_node_new (data)) |
#define | g_node_prev_sibling(node) |
#define | g_node_next_sibling(node) |
#define | g_node_first_child(node) |
Typedefs |
typedef typedefG_BEGIN_DECLS
struct _GNode | GNode |
typedef gboolean(* | GNodeTraverseFunc )(GNode *node, gpointer data) |
typedef void(* | GNodeForeachFunc )(GNode *node, gpointer data) |
typedef gpointer(* | GCopyFunc )(gconstpointer src, gpointer data) |
Enumerations |
enum | GTraverseFlags {
G_TRAVERSE_LEAVES = 1 << 0,
G_TRAVERSE_NON_LEAVES = 1 << 1,
G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES,
G_TRAVERSE_MASK = 0x03,
G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES,
G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES
} |
enum | GTraverseType { G_IN_ORDER,
G_PRE_ORDER,
G_POST_ORDER,
G_LEVEL_ORDER
} |
Functions |
IMPORT_C GNode * | g_node_new (gpointer data) |
IMPORT_C void | g_node_destroy (GNode *root) |
IMPORT_C void | g_node_unlink (GNode *node) |
IMPORT_C GNode * | g_node_copy_deep (GNode *node, GCopyFunc copy_func, gpointer data) |
IMPORT_C GNode * | g_node_copy (GNode *node) |
IMPORT_C GNode * | g_node_insert (GNode *parent, gint position, GNode *node) |
IMPORT_C GNode * | g_node_insert_before (GNode *parent, GNode *sibling, GNode *node) |
IMPORT_C GNode * | g_node_insert_after (GNode *parent, GNode *sibling, GNode *node) |
IMPORT_C GNode * | g_node_prepend (GNode *parent, GNode *node) |
IMPORT_C guint | g_node_n_nodes (GNode *root, GTraverseFlags flags) |
IMPORT_C GNode * | g_node_get_root (GNode *node) |
IMPORT_C gboolean | g_node_is_ancestor (GNode *node, GNode *descendant) |
IMPORT_C guint | g_node_depth (GNode *node) |
IMPORT_C GNode * | g_node_find (GNode *root, GTraverseType order, GTraverseFlags flags, gpointer data) |
IMPORT_C void | g_node_traverse (GNode *root, GTraverseType order, GTraverseFlags flags, gint max_depth, GNodeTraverseFunc func, gpointer data) |
IMPORT_C guint | g_node_max_height (GNode *root) |
IMPORT_C void | g_node_children_foreach (GNode *node, GTraverseFlags flags, GNodeForeachFunc func, gpointer data) |
IMPORT_C void | g_node_reverse_children (GNode *node) |
IMPORT_C guint | g_node_n_children (GNode *node) |
IMPORT_C GNode * | g_node_nth_child (GNode *node, guint n) |
IMPORT_C GNode * | g_node_last_child (GNode *node) |
IMPORT_C GNode * | g_node_find_child (GNode *node, GTraverseFlags flags, gpointer data) |
IMPORT_C gint | g_node_child_position (GNode *node, GNode *child) |
IMPORT_C gint | g_node_child_index (GNode *node, gpointer data) |
IMPORT_C GNode * | g_node_first_sibling (GNode *node) |
IMPORT_C GNode * | g_node_last_sibling (GNode *node) |
IMPORT_C void | g_node_push_allocator (gpointer dummy) |
IMPORT_C void | g_node_pop_allocator (void) |