gnode.h File Reference

#include <gmem.h>

Go to the source code of this file.

Classes

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)

Enumerations

enum  GTraverseFlags
enum  GTraverseType

Functions

void g_node_push_allocator (GAllocator *allocato)
void g_node_pop_allocator (void)
GNodeg_node_new (gpointer data)
void g_node_destroy (GNode *root)
void g_node_unlink (GNode *node)
GNodeg_node_copy (GNode *node)
GNodeg_node_insert (GNode *parent, gint position, GNode *node)
GNodeg_node_insert_before (GNode *parent, GNode *sibling, GNode *node)
GNodeg_node_insert_after (GNode *parent, GNode *sibling, GNode *node)
GNodeg_node_prepend (GNode *parent, GNode *node)
guint g_node_n_nodes (GNode *root, GTraverseFlags flags)
GNodeg_node_get_root (GNode *node)
gboolean g_node_is_ancestor (GNode *node, GNode *descendant)
guint g_node_depth (GNode *node)
GNodeg_node_find (GNode *root, GTraverseType order, GTraverseFlags flags, gpointer data)
void g_node_traverse (GNode *root, GTraverseType order, GTraverseFlags flags, gint max_depth, GNodeTraverseFunc func, gpointer data)
guint g_node_max_height (GNode *root)
void g_node_children_foreach (GNode *node, GTraverseFlags flags, GNodeForeachFunc func, gpointer data)
void g_node_reverse_children (GNode *node)
guint g_node_n_children (GNode *node)
GNodeg_node_nth_child (GNode *node, guint n)
GNodeg_node_last_child (GNode *node)
GNodeg_node_find_child (GNode *node, GTraverseFlags flags, gpointer data)
gint g_node_child_position (GNode *node, GNode *child)
gint g_node_child_index (GNode *node, gpointer data)
GNodeg_node_first_sibling (GNode *node)
GNodeg_node_last_sibling (GNode *node)


Define Documentation

#define g_node_append ( parent,
node   )     g_node_insert_before ((parent), NULL, (node))

Definition at line 104 of file gnode.h.

#define g_node_append_data ( parent,
data   )     g_node_insert_before ((parent), NULL, g_node_new (data))

Definition at line 112 of file gnode.h.

#define g_node_first_child ( node   ) 

Value:

((node) ? \
                                         ((GNode*) (node))->children : NULL)

Definition at line 158 of file gnode.h.

#define g_node_insert_data ( parent,
position,
data   )     g_node_insert ((parent), (position), g_node_new (data))

Definition at line 106 of file gnode.h.

#define g_node_insert_data_before ( parent,
sibling,
data   )     g_node_insert_before ((parent), (sibling), g_node_new (data))

Definition at line 108 of file gnode.h.

#define G_NODE_IS_LEAF ( node   )     (((GNode*) (node))->children == NULL)

Definition at line 73 of file gnode.h.

#define G_NODE_IS_ROOT ( node   ) 

Value:

(((GNode*) (node))->parent == NULL && \
                                 ((GNode*) (node))->prev == NULL && \
                                 ((GNode*) (node))->next == NULL)

Definition at line 70 of file gnode.h.

#define g_node_next_sibling ( node   ) 

Value:

((node) ? \
                                         ((GNode*) (node))->next : NULL)

Definition at line 156 of file gnode.h.

#define g_node_prepend_data ( parent,
data   )     g_node_prepend ((parent), g_node_new (data))

Definition at line 110 of file gnode.h.

#define g_node_prev_sibling ( node   ) 

Value:

((node) ? \
                                         ((GNode*) (node))->prev : NULL)

Definition at line 154 of file gnode.h.


Typedef Documentation

typedef typedefG_BEGIN_DECLS struct _GNode GNode

Definition at line 34 of file gnode.h.

typedef void(*) GNodeForeachFunc(GNode *node, gpointer data)

Definition at line 56 of file gnode.h.

typedef gboolean(*) GNodeTraverseFunc(GNode *node, gpointer data)

Definition at line 54 of file gnode.h.


Enumeration Type Documentation

enum GTraverseFlags

Definition at line 37 of file gnode.h.

enum GTraverseType

Definition at line 46 of file gnode.h.


Function Documentation

gint g_node_child_index ( GNode node,
gpointer  data 
)

gint g_node_child_position ( GNode node,
GNode child 
)

void g_node_children_foreach ( GNode node,
GTraverseFlags  flags,
GNodeForeachFunc  func,
gpointer  data 
)

GNode* g_node_copy ( GNode node  ) 

guint g_node_depth ( GNode node  ) 

void g_node_destroy ( GNode root  ) 

GNode* g_node_find ( GNode root,
GTraverseType  order,
GTraverseFlags  flags,
gpointer  data 
)

GNode* g_node_find_child ( GNode node,
GTraverseFlags  flags,
gpointer  data 
)

GNode* g_node_first_sibling ( GNode node  ) 

GNode* g_node_get_root ( GNode node  ) 

GNode* g_node_insert ( GNode parent,
gint  position,
GNode node 
)

GNode* g_node_insert_after ( GNode parent,
GNode sibling,
GNode node 
)

GNode* g_node_insert_before ( GNode parent,
GNode sibling,
GNode node 
)

gboolean g_node_is_ancestor ( GNode node,
GNode descendant 
)

GNode* g_node_last_child ( GNode node  ) 

GNode* g_node_last_sibling ( GNode node  ) 

guint g_node_max_height ( GNode root  ) 

guint g_node_n_children ( GNode node  ) 

guint g_node_n_nodes ( GNode root,
GTraverseFlags  flags 
)

GNode* g_node_new ( gpointer  data  ) 

GNode* g_node_nth_child ( GNode node,
guint  n 
)

void g_node_pop_allocator ( void   ) 

GNode* g_node_prepend ( GNode parent,
GNode node 
)

void g_node_push_allocator ( GAllocator allocato  ) 

void g_node_reverse_children ( GNode node  ) 

void g_node_traverse ( GNode root,
GTraverseType  order,
GTraverseFlags  flags,
gint  max_depth,
GNodeTraverseFunc  func,
gpointer  data 
)

void g_node_unlink ( GNode node  ) 


Generated on Tue Jul 5 15:58:43 2011 for ROOT_528-00b_version by  doxygen 1.5.1