xbt_node_t new_xbt_graph_node(xbt_graph_t graph, const char *name, xbt_dict_t nodes) { xbt_node_t ret = (xbt_node_t) xbt_dict_get_or_null(nodes, name); if (ret) return ret; ret = xbt_graph_new_node(graph, xbt_strdup(name)); xbt_dict_set(nodes, name, ret, nullptr); return ret; }
xbt_node_t AsDijkstra::routeGraphNewNode(int id, int graph_id) { xbt_node_t node = nullptr; graph_node_data_t data = nullptr; graph_node_map_element_t elm = nullptr; data = xbt_new0(struct graph_node_data, 1); data->id = id; data->graph_id = graph_id; node = xbt_graph_new_node(routeGraph_, data); elm = xbt_new0(struct graph_node_map_element, 1); elm->node = node; xbt_dict_set_ext(graphNodeMap_, (char *) (&id), sizeof(int), (xbt_dictelm_t) elm, nullptr); return node; }
static xbt_node_t route_graph_new_node(as_dijkstra_t as, int id, int graph_id) { xbt_node_t node = NULL; graph_node_data_t data = NULL; graph_node_map_element_t elm = NULL; data = xbt_new0(struct graph_node_data, 1); data->id = id; data->graph_id = graph_id; node = xbt_graph_new_node(as->route_graph, data); elm = xbt_new0(struct graph_node_map_element, 1); elm->node = node; xbt_dict_set_ext(as->graph_node_map, (char *) (&id), sizeof(int), (xbt_set_elm_t) elm, NULL); return node; }