34raiigraph::Graph
edges_to_graph(
const std::size_t double_edges,
const Vertex_*
const edges,
const std::size_t num_vertices,
const bool directed) {
35 raiigraph::initialize();
39 const auto actual_directed = (directed ? IGRAPH_DIRECTED : IGRAPH_UNDIRECTED);
41 if constexpr(std::is_same<Vertex_, igraph_int_t>::value) {
42 const auto edge_view = igraph_vector_int_view(edges, sanisizer::cast<igraph_int_t>(double_edges));
43 return raiigraph::Graph(&edge_view, num_vertices, actual_directed);
45 auto tmp = sanisizer::create<raiigraph::IntegerVector>(double_edges);
46 auto& payload = *(tmp.get());
47 for (std::size_t x = 0; x < double_edges; ++x) {
48 VECTOR(payload)[x] = edges[x];
50 return raiigraph::Graph(tmp, num_vertices, actual_directed);
raiigraph::Graph edges_to_graph(const std::size_t double_edges, const Vertex_ *const edges, const std::size_t num_vertices, const bool directed)
Definition edges_to_graph.hpp:34