From 5bc071dc5bb4b8b9601c04ca530ef17bb3e4ee04 Mon Sep 17 00:00:00 2001 From: mquinson Date: Mon, 29 Jun 2009 21:11:32 +0000 Subject: [PATCH] Add xbt_graph_node_get_outedges() [Silas De Munck] git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6392 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- ChangeLog | 1 + include/xbt/graph.h | 9 +++++---- src/xbt/graph.c | 6 +++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0b4b561be6..668673eeb5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,7 @@ SimGrid (3.3.2-svn) unstable; urgency=low XBT: * Add xbt_set_get_by_name_or_null() [Silas De Munck] + * Add xbt_graph_node_get_outedges() [Silas De Munck] -- Da SimGrid team diff --git a/include/xbt/graph.h b/include/xbt/graph.h index 27ee96d042..4db15fcfe7 100644 --- a/include/xbt/graph.h +++ b/include/xbt/graph.h @@ -1,6 +1,6 @@ /* $Id$ */ -/* 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 @@ -14,7 +14,7 @@ SG_BEGIN_DECL() /** @addtogroup XBT_graph * @brief A graph data type with several interesting algorithms - * + * * @{ */ typedef struct xbt_node *xbt_node_t; @@ -53,6 +53,7 @@ XBT_PUBLIC(int) __xbt_find_in_dynar(xbt_dynar_t dynar, void *p); 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 @@ -85,8 +86,8 @@ XBT_PUBLIC(xbt_node_t *) xbt_graph_shortest_paths(xbt_graph_t g); /** @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); diff --git a/src/xbt/graph.c b/src/xbt/graph.c index 670584b417..ad5a67f068 100644 --- a/src/xbt/graph.c +++ b/src/xbt/graph.c @@ -262,7 +262,6 @@ xbt_dynar_t xbt_graph_get_edges(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) { - return e->src; } @@ -272,6 +271,11 @@ xbt_node_t xbt_graph_edge_get_target(xbt_edge_t e) return e->dst; } +/** @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) -- 2.20.1