| 684 | } |
| 685 | |
| 686 | py::object Graph::get_edges() { |
| 687 | py::list edges = py::list(); |
| 688 | std::set<std::pair<node_t, node_t> > seen; |
| 689 | for (const auto& ego_edges : this->adj) { |
| 690 | node_t u = ego_edges.first; |
| 691 | for (const auto& edge_info : ego_edges.second) { |
| 692 | node_t v = edge_info.first; |
| 693 | const auto& edge_attr = edge_info.second; |
| 694 | if (seen.find(std::make_pair(u, v)) == seen.end()) { |
| 695 | seen.insert(std::make_pair(u, v)); |
| 696 | seen.insert(std::make_pair(v, u)); |
| 697 | edges.append(py::make_tuple(this->id_to_node[py::cast(u)], this->id_to_node[py::cast(v)], attr_to_dict(edge_attr))); |
| 698 | } |
| 699 | } |
| 700 | } |
| 701 | return edges; |
| 702 | } |
| 703 | |
| 704 | |
| 705 | Graph_L Graph::_get_linkgraph_structure() { |
nothing calls this directly
no test coverage detected