src/graph/graph.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  graph_struct
struct  vertex_struct
struct  edge_struct

Defines

#define foreach_vertex(g, lgen, v)
#define foreach_edge(g, lgen, e)
#define foreach_in_edge(v, lgen, e)
#define foreach_out_edge(v, lgen, e)

Typedefs

typedef char * gGeneric
typedef struct graph_struct graph_t
typedef struct vertex_struct vertex_t
typedef struct edge_struct edge_t
typedef void(* GRAPH_PFV )(gGeneric)
typedef gGeneric(* GRAPH_PFG )(gGeneric)

Functions

EXTERN graph_t *g_alloc ARGS ((void))
EXTERN void g_free ARGS ((graph_t *, void(*)(gGeneric), void(*)(gGeneric), void(*)(gGeneric)))
EXTERN void g_check ARGS ((graph_t *))
EXTERN graph_t *g_dup ARGS ((graph_t *, gGeneric(*)(gGeneric), gGeneric(*)(gGeneric), gGeneric(*)(gGeneric)))
EXTERN void g_delete_vertex ARGS ((vertex_t *, void(*)(gGeneric), void(*)(gGeneric)))
EXTERN graph_t *g_vertex_graph ARGS ((vertex_t *))
EXTERN edge_t *g_add_edge ARGS ((vertex_t *, vertex_t *))
EXTERN void g_delete_edge ARGS ((edge_t *, void(*)(gGeneric)))
EXTERN graph_t *g_edge_graph ARGS ((edge_t *))
EXTERN array_t *g_graph_sort ARGS ((graph_t *, int(*)(const void *, const void *)))
EXTERN st_table *g_reachable ARGS ((graph_t *, st_table *))

Define Documentation

#define foreach_edge ( g,
lgen,
 ) 
Value:
for (lgen = lsStart(g_get_edges(g));                    \
                lsNext(lgen, &e, LS_NH) == LS_OK        \
                   || ((void) lsFinish(lgen), 0); )

Definition at line 33 of file graph.h.

#define foreach_in_edge ( v,
lgen,
 ) 
Value:
for (lgen = lsStart(g_get_in_edges(v));                 \
                lsNext(lgen, &e, LS_NH) == LS_OK        \
                   || ((void) lsFinish(lgen), 0); )

Definition at line 46 of file graph.h.

#define foreach_out_edge ( v,
lgen,
 ) 
Value:
for (lgen = lsStart(g_get_out_edges(v));                \
                lsNext(lgen, &e, LS_NH) == LS_OK        \
                   ||  ((void) lsFinish(lgen), 0); )

Definition at line 51 of file graph.h.

#define foreach_vertex ( g,
lgen,
 ) 
Value:
for (lgen = lsStart(g_get_vertices(g));                 \
                lsNext(lgen, &v, LS_NH) == LS_OK        \
                   || ((void) lsFinish(lgen), 0); )

Definition at line 28 of file graph.h.


Typedef Documentation

typedef struct edge_struct edge_t
typedef char* gGeneric

Definition at line 4 of file graph.h.

Definition at line 19 of file graph.h.

typedef void(* GRAPH_PFV)(gGeneric)

Definition at line 18 of file graph.h.

typedef struct graph_struct graph_t
typedef struct vertex_struct vertex_t

Function Documentation

EXTERN st_table *g_SCC ARGS ( (graph_t *, st_table *)   ) 
EXTERN array_t* g_graph_sort ARGS ( (graph_t *, int(*)(const void *, const void *))   ) 
EXTERN vertex_t *g_e_dest ARGS ( (edge_t *)   ) 
EXTERN void g_delete_edge ARGS ( (edge_t *, void(*)(gGeneric))   ) 
EXTERN edge_t* g_add_edge ARGS ( (vertex_t *, vertex_t *)   ) 
EXTERN lsList g_get_out_edges ARGS ( (vertex_t *)   ) 
EXTERN void g_delete_vertex ARGS ( (vertex_t *, void(*)(gGeneric), void(*)(gGeneric))   ) 
EXTERN graph_t* g_dup ARGS ( (graph_t *, gGeneric(*)(gGeneric), gGeneric(*)(gGeneric), gGeneric(*)(gGeneric))   ) 
EXTERN int g_is_acyclic ARGS ( (graph_t *)   ) 
EXTERN void g_free ARGS ( (graph_t *, void(*)(gGeneric), void(*)(gGeneric), void(*)(gGeneric))   ) 
EXTERN graph_t* g_alloc ARGS ( (void)   ) 

Generated on Tue Jan 12 13:57:24 2010 for glu-2.2 by  doxygen 1.6.1