git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6392
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
XBT:
* Add xbt_set_get_by_name_or_null() [Silas De Munck]
XBT:
* Add xbt_set_get_by_name_or_null() [Silas De Munck]
+ * Add xbt_graph_node_get_outedges() [Silas De Munck]
-- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
-- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
-/* Copyright (c) 2006 Darina Dimitrova, Arnaud Legrand.
+/* Copyright (c) 2006 Darina Dimitrova, Arnaud Legrand.
All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/** @addtogroup XBT_graph
* @brief A graph data type with several interesting algorithms
/** @addtogroup XBT_graph
* @brief A graph data type with several interesting algorithms
* @{
*/
typedef struct xbt_node *xbt_node_t;
* @{
*/
typedef struct xbt_node *xbt_node_t;
XBT_PUBLIC(xbt_dynar_t) xbt_graph_get_nodes(xbt_graph_t g);
XBT_PUBLIC(xbt_dynar_t) xbt_graph_get_edges(xbt_graph_t g);
XBT_PUBLIC(xbt_dynar_t) xbt_graph_get_nodes(xbt_graph_t g);
XBT_PUBLIC(xbt_dynar_t) xbt_graph_get_edges(xbt_graph_t g);
+XBT_PUBLIC(xbt_dynar_t) xbt_graph_node_get_outedges(xbt_node_t n);
XBT_PUBLIC(xbt_node_t) xbt_graph_edge_get_source(xbt_edge_t e);
XBT_PUBLIC(xbt_node_t) xbt_graph_edge_get_target(xbt_edge_t e);
XBT_PUBLIC(xbt_graph_t) xbt_graph_read(const char *filename, void
XBT_PUBLIC(xbt_node_t) xbt_graph_edge_get_source(xbt_edge_t e);
XBT_PUBLIC(xbt_node_t) xbt_graph_edge_get_target(xbt_edge_t e);
XBT_PUBLIC(xbt_graph_t) xbt_graph_read(const char *filename, void
/** @brief transforms the network structure of a directed acyclic graph given into a linear structure
/** @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
+ @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_PUBLIC(xbt_node_t *) xbt_graph_topo_sort(xbt_graph_t g);
*/
XBT_PUBLIC(xbt_node_t *) xbt_graph_topo_sort(xbt_graph_t g);
/** @brief Retrieve the node at the source of the given edge */
xbt_node_t xbt_graph_edge_get_source(xbt_edge_t e)
{
/** @brief Retrieve the node at the source of the given edge */
xbt_node_t xbt_graph_edge_get_source(xbt_edge_t e)
{
+/** @brief Retrieve the outgoing edges of the given node */
+xbt_dynar_t xbt_graph_node_get_outedges(xbt_node_t n)
+{
+ return n->out;
+}
/** @brief Set the weight of the given edge */
void xbt_graph_edge_set_length(xbt_edge_t e, double length)
/** @brief Set the weight of the given edge */
void xbt_graph_edge_set_length(xbt_edge_t e, double length)