MCPcopy Create free account
hub / github.com/easy-graph/Easy-Graph / DiGraph_predecessors

Function DiGraph_predecessors

cpp_easygraph/classes/directed_graph.cpp:110–127  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108}
109
110py::object DiGraph_predecessors(py::object self, py::object node) {
111 DiGraph& self_ = self.cast<DiGraph&>();
112 adj_dict_factory& pred = self_.pred;
113 node_t node_id = self_.node_to_id[node].cast<node_t>();
114 if (pred.find(node_id) != pred.end()) {
115 adj_attr_dict_factory node_pred_dict = pred[node_id];
116 py::dict node_pred = py::dict();
117 for (adj_attr_dict_factory::iterator i = node_pred_dict.begin();
118 i != node_pred_dict.end(); i++) {
119 edge_attr_dict_factory edge_attr_dict = i->second;
120 node_pred[self_.id_to_node[py::cast(i->first)]] = attr_to_dict(edge_attr_dict);
121 }
122 return node_pred.attr("__iter__")();
123 } else {
124 PyErr_Format(PyExc_KeyError, "No node %R", node.ptr());
125 return py::none();
126 }
127}
128
129node_t DiGraph_add_one_node(DiGraph& self, py::object one_node_for_adding,
130 py::object node_attr = py::dict()) {

Callers

nothing calls this directly

Calls 1

attr_to_dictFunction · 0.85

Tested by

no test coverage detected