ggraph

Name

ggraph -- 

Synopsis



struct      GGraph;
struct      GVertex;
GGraph*     g_graph_new                     (void);
void        g_graph_free                    (GGraph*);
GVertex*    g_graph_add_vertex              (GGraph*,
                                             gpointer data);
void        g_graph_add_edge                (GGraph*,
                                             GVertex*,
                                             GVertex*);
GVertex*    g_graph_find_vertex_by_data     (GGraph*,
                                             gpointer data);
void        g_graph_remove_vertex           (GGraph*,
                                             GVertex*);
void        g_graph_remove_vertex_and_relink
                                            (GGraph*,
                                             GVertex*);
void        g_graph_foreach                 (GGraph*,
                                             GFunc,
                                             gpointer user_data);
void        g_vertex_traverse_neighbors     (GVertex*,
                                             GFunc,
                                             gpointer user_data);
void        g_vertex_traverse_connected_component
                                            (GVertex*,
                                             GFunc,
                                             gpointer user_data);

Description

A longer description goes here.

Details

struct GGraph

struct GGraph {
  GList *vertices;
};

struct GVertex

struct GVertex {
  GList *edges;
  gpointer data;
};

g_graph_new ()

GGraph*     g_graph_new                     (void);

g_graph_free ()

void        g_graph_free                    (GGraph*);

g_graph_add_vertex ()

GVertex*    g_graph_add_vertex              (GGraph*,
                                             gpointer data);

g_graph_add_edge ()

void        g_graph_add_edge                (GGraph*,
                                             GVertex*,
                                             GVertex*);

g_graph_find_vertex_by_data ()

GVertex*    g_graph_find_vertex_by_data     (GGraph*,
                                             gpointer data);

g_graph_remove_vertex ()

void        g_graph_remove_vertex           (GGraph*,
                                             GVertex*);

g_graph_remove_vertex_and_relink ()

void        g_graph_remove_vertex_and_relink
                                            (GGraph*,
                                             GVertex*);

g_graph_foreach ()

void        g_graph_foreach                 (GGraph*,
                                             GFunc,
                                             gpointer user_data);

g_vertex_traverse_neighbors ()

void        g_vertex_traverse_neighbors     (GVertex*,
                                             GFunc,
                                             gpointer user_data);

g_vertex_traverse_connected_component ()

void        g_vertex_traverse_connected_component
                                            (GVertex*,
                                             GFunc,
                                             gpointer user_data);