SimGrid  3.21
Versatile Simulation of Distributed Systems
General purpose graph library

Detailed Description

A graph data type with several interesting algorithms.

Typedefs

typedef struct xbt_node * xbt_node_t
 
typedef struct xbt_edge * xbt_edge_t
 
typedef struct xbt_graph * xbt_graph_t
 
typedef struct xbt_node s_xbt_node_t
 
typedef struct xbt_edge s_xbt_edge_t
 
typedef struct xbt_graph s_xbt_graph_t
 

Functions

xbt_graph_t xbt_graph_new_graph (unsigned short int directed, void *data)
 
xbt_node_t xbt_graph_new_node (xbt_graph_t g, void *data)
 
xbt_edge_t xbt_graph_new_edge (xbt_graph_t g, xbt_node_t src, xbt_node_t dst, void *data)
 
void * xbt_graph_node_get_data (xbt_node_t node)
 
void xbt_graph_node_set_data (xbt_node_t node, void *data)
 
void * xbt_graph_edge_get_data (xbt_edge_t edge)
 
void xbt_graph_edge_set_data (xbt_edge_t edge, void *data)
 
xbt_edge_t xbt_graph_get_edge (xbt_graph_t g, xbt_node_t src, xbt_node_t dst)
 
void xbt_graph_free_graph (xbt_graph_t g, void_f_pvoid_t node_free_function, void_f_pvoid_t edge_free_function, void_f_pvoid_t graph_free_function)
 
xbt_dynar_t xbt_graph_get_nodes (xbt_graph_t g)
 
xbt_dynar_t xbt_graph_get_edges (xbt_graph_t g)
 
xbt_dynar_t xbt_graph_node_get_outedges (xbt_node_t n)
 
xbt_node_t xbt_graph_edge_get_source (xbt_edge_t e)
 
xbt_node_t xbt_graph_edge_get_target (xbt_edge_t e)
 

Typedef Documentation

◆ xbt_node_t

typedef struct xbt_node* xbt_node_t

◆ xbt_edge_t

typedef struct xbt_edge* xbt_edge_t

◆ xbt_graph_t

typedef struct xbt_graph* xbt_graph_t

◆ s_xbt_node_t

typedef struct xbt_node s_xbt_node_t

◆ s_xbt_edge_t

typedef struct xbt_edge s_xbt_edge_t

◆ s_xbt_graph_t

typedef struct xbt_graph s_xbt_graph_t

Function Documentation

◆ xbt_graph_new_graph()

xbt_graph_t xbt_graph_new_graph ( unsigned short int  directed,
void *  data 
)

◆ xbt_graph_new_node()

xbt_node_t xbt_graph_new_node ( xbt_graph_t  g,
void *  data 
)

◆ xbt_graph_new_edge()

xbt_edge_t xbt_graph_new_edge ( xbt_graph_t  g,
xbt_node_t  src,
xbt_node_t  dst,
void *  data 
)

◆ xbt_graph_node_get_data()

void* xbt_graph_node_get_data ( xbt_node_t  node)

◆ xbt_graph_node_set_data()

void xbt_graph_node_set_data ( xbt_node_t  node,
void *  data 
)

◆ xbt_graph_edge_get_data()

void* xbt_graph_edge_get_data ( xbt_edge_t  edge)

◆ xbt_graph_edge_set_data()

void xbt_graph_edge_set_data ( xbt_edge_t  edge,
void *  data 
)

◆ xbt_graph_get_edge()

xbt_edge_t xbt_graph_get_edge ( xbt_graph_t  g,
xbt_node_t  src,
xbt_node_t  dst 
)

◆ xbt_graph_free_graph()

void xbt_graph_free_graph ( xbt_graph_t  g,
void_f_pvoid_t  node_free_function,
void_f_pvoid_t  edge_free_function,
void_f_pvoid_t  graph_free_function 
)

◆ xbt_graph_get_nodes()

xbt_dynar_t xbt_graph_get_nodes ( xbt_graph_t  g)

◆ xbt_graph_get_edges()

xbt_dynar_t xbt_graph_get_edges ( xbt_graph_t  g)

◆ xbt_graph_node_get_outedges()

xbt_dynar_t xbt_graph_node_get_outedges ( xbt_node_t  n)

◆ xbt_graph_edge_get_source()

xbt_node_t xbt_graph_edge_get_source ( xbt_edge_t  e)

◆ xbt_graph_edge_get_target()

xbt_node_t xbt_graph_edge_get_target ( xbt_edge_t  e)