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)
GNode * g_node_new (gpointer data)
void g_node_destroy (GNode *root)
void g_node_unlink (GNode *node)
GNode * g_node_copy (GNode *node)
GNode * g_node_insert (GNode *parent, gint position, GNode *node)
GNode * g_node_insert_before (GNode *parent, GNode *sibling, GNode *node)
GNode * g_node_insert_after (GNode *parent, GNode *sibling, GNode *node)
GNode * g_node_prepend (GNode *parent, GNode *node)
guint g_node_n_nodes (GNode *root, GTraverseFlags flags)
GNode * g_node_get_root (GNode *node)
gboolean g_node_is_ancestor (GNode *node, GNode *descendant)
guint g_node_depth (GNode *node)
GNode * g_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)
GNode * g_node_nth_child (GNode *node, guint n)
GNode * g_node_last_child (GNode *node)
GNode * g_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)
GNode * g_node_first_sibling (GNode *node)
GNode * g_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