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

Method _get_edges

cpp_easygraph/classes/graph.cpp:711–731  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

709 return this->linkgraph_dirty;
710}
711std::vector<graph_edge> Graph::_get_edges(bool if_directed) {
712 std::vector<graph_edge> edges;
713 std::set<std::pair<node_t, node_t> > seen;
714 for (const auto& ego_edges : this->adj) {
715 node_t u = ego_edges.first;
716 for (const auto& edge_info : ego_edges.second) {
717 node_t v = edge_info.first;
718 const auto& edge_attr = edge_info.second;
719 if (seen.find(std::make_pair(u, v)) == seen.end()) {
720
721 seen.insert(std::make_pair(u, v));
722 if(!if_directed){
723 seen.insert(std::make_pair(v, u));
724 }
725
726 edges.emplace_back(u, v, edge_attr);
727 }
728 }
729 }
730 return edges;
731}

Callers 4

kruskal_mst_edgesFunction · 0.80
graph_to_linkgraphFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected