// Graph operation implementation #include namespace dgl { Graph GraphOp::DisjointUnion(std::vector graphs) { Graph rst; uint64_t cumsum = 0; for (const Graph* gr : graphs) { rst.AddVertices(gr->NumVertices()); for (uint64_t i = 0; i < gr->NumEdges(); ++i) { rst.AddEdge(gr->all_edges_src_[i] + cumsum, gr->all_edges_dst_[i] + cumsum); } cumsum += gr->NumVertices(); } return rst; } } // namespace dgl