X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/139da70d9c161eaeec3e6eb74278c966370c6e62..a63c83a55c527e6e95c92cf2ef65ae575902387e:/include/xbt/graph.h diff --git a/include/xbt/graph.h b/include/xbt/graph.h index 609373311d..658402c9df 100644 --- a/include/xbt/graph.h +++ b/include/xbt/graph.h @@ -12,15 +12,28 @@ #include "xbt/dynar.h" SG_BEGIN_DECL() -typedef struct xbt_node *xbt_node_t; + /** @addtogroup XBT_graph + * @brief A graph data type with several interesting algorithms + * + * @{ + */ + +typedef struct xbt_node *xbt_node_t; typedef struct xbt_edge *xbt_edge_t; -typedef struct xbt_graph *xbt_graph_t; +typedef struct xbt_graph *xbt_graph_t; /* API */ 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_edge_set_length(xbt_edge_t e, double length); double xbt_graph_edge_get_length(xbt_edge_t e); double* xbt_graph_get_length_matrix(xbt_graph_t g); @@ -60,9 +73,9 @@ xbt_node_t* xbt_graph_shortest_paths(xbt_graph_t g); -/* transforms the network structure of a directed acyclic graph given as argument into a linear structure -@return an array containing the nodes of the graph sorted in order reverse to the path of exploration -if a cycle is detected an exception is raised +/** @brief transforms the network structure of a directed acyclic graph given into a linear structure + @return: an array containing the nodes of the graph sorted in order reverse to the path of exploration + if a cycle is detected an exception is raised */ xbt_node_t* xbt_graph_topo_sort(xbt_graph_t g); @@ -89,7 +102,7 @@ xbt_edge_t* xbt_graph_spanning_tree_prim(xbt_graph_t g); SG_END_DECL() #endif /* _XBT_GRAPH_H */ - +/** @} */