|
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)
|