+ xbt_dynar_foreach(src->out, cursor, edge) {
+ DEBUG3("%p = %p--%p",edge,edge->src,edge->dst);
+ if((edge->src==src) && (edge->dst==dst)) return edge;
+ }
+ if(!g->directed) {
+ xbt_dynar_foreach(src->out, cursor, edge) {
+ DEBUG3("%p = %p--%p",edge,edge->src,edge->dst);
+ if((edge->dst==src) && (edge->src==dst)) return edge;
+ }
+ }
+ return NULL;
+}
+
+void *xbt_graph_node_get_data(xbt_node_t node)
+{
+ return node->data;
+}
+
+void xbt_graph_node_set_data(xbt_node_t node, void *data)
+{
+ node->data = data;
+}
+
+void *xbt_graph_edge_get_data(xbt_edge_t edge)
+{
+ return edge->data;
+}
+
+void xbt_graph_edge_set_data(xbt_edge_t edge, void *data)
+{
+ edge->data = data;
+}
+
+/** @brief Destructor
+ * @param g: poor victim
+ * @param node_free_function: function to use to free data associated to each node
+ * @param edge_free_function: function to use to free data associated to each edge
+ * @param graph_free_function: function to use to free data associated to g