: GVLayout(std::make_shared<GVContext>(std::move(gvc)),
std::make_shared<CGraph::AGraph>(std::move(g)), engine) {}
+GVLayout::GVLayout(std::shared_ptr<GVContext> gvc, CGraph::AGraph &&g,
+ const std::string &engine)
+ : GVLayout(gvc, std::make_shared<CGraph::AGraph>(std::move(g)), engine) {}
+
GVLayout::~GVLayout() {
// m_gvc and m_g always either both point to an object or both are null
assert((m_gvc != nullptr && m_g != nullptr) ||
GVLayout(const std::shared_ptr<GVContext> &gvc,
const std::shared_ptr<CGraph::AGraph> &g, const std::string &engine);
GVLayout(GVContext &&gvc, CGraph::AGraph &&g, const std::string &engine);
+ GVLayout(std::shared_ptr<GVContext> gvc, CGraph::AGraph &&g,
+ const std::string &engine);
~GVLayout();
// default copy since we manage resources through movable types