34raiigraph::Graph
edges_to_graph(
const std::size_t double_edges,
const Vertex_*
const edges,
const std::size_t num_vertices,
const igraph_bool_t directed) {
35 if constexpr(std::is_same<Vertex_, igraph_integer_t>::value) {
36 igraph_vector_int_t edge_view{};
37 igraph_vector_int_view(&edge_view, edges, sanisizer::cast<igraph_integer_t>(double_edges));
38 return raiigraph::Graph(&edge_view, num_vertices, directed);
40 auto tmp = sanisizer::create<raiigraph::IntegerVector>(double_edges);
41 auto& payload = *(tmp.get());
42 for (std::size_t x = 0; x < double_edges; ++x) {
43 VECTOR(payload)[x] = edges[x];
45 return raiigraph::Graph(tmp, num_vertices, directed);
raiigraph::Graph edges_to_graph(const std::size_t double_edges, const Vertex_ *const edges, const std::size_t num_vertices, const igraph_bool_t directed)
Definition edges_to_graph.hpp:34