.. index:: pair: class; QPanda::QProgDAG .. _doxid-class_q_panda_1_1_q_prog_d_a_g: class QPanda::QProgDAG ====================== .. toctree:: :hidden: Overview ~~~~~~~~ transform :ref:`QProg ` to DAG(directed acyclic graph) :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgDAG { public: // fields std::map`*> :target:`m_qubits`; // methods void :ref:`add_vertex`(std::shared_ptr<:ref:`QProgDAGNode`> n, :ref:`DAGNodeType` type); void :ref:`get_adjacency_matrix`(:ref:`AdjacencyMatrix`& matrix); const :ref:`QProgDAGVertex`& :ref:`get_vertex`(const size_t vertice_num) const; bool :target:`is_connected_graph`(); :ref:`TopologSequence`<:ref:`DAGSeqNode`> :target:`build_topo_sequence`(); std::set<:ref:`QProgDAGEdge`> :target:`get_edges`() const; void :target:`remove_edge`(const :ref:`QProgDAGEdge`& e); const std::vector<:ref:`QProgDAGVertex`>& :target:`get_vertex_c`() const; std::vector<:ref:`QProgDAGVertex`>& :target:`get_vertex`(); const auto& :target:`get_qubit_vertices_map`() const; std::shared_ptr<:ref:`QProg`> :target:`dag_to_qprog`(); }; .. _details-class_q_panda_1_1_q_prog_d_a_g: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ transform :ref:`QProg ` to DAG(directed acyclic graph) transform :ref:`QProg ` to DAG Methods ------- .. index:: pair: function; add_vertex .. _doxid-class_q_panda_1_1_q_prog_d_a_g_1a3dae8d6e1582cec3b3aefdbbe65583de: .. ref-code-block:: cpp :class: doxyrest-title-code-block void add_vertex(std::shared_ptr<:ref:`QProgDAGNode`> n, :ref:`DAGNodeType` type) add vertex .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - node_info - .. rubric:: Returns: size_t vertex num .. index:: pair: function; get_adjacency_matrix .. _doxid-class_q_panda_1_1_q_prog_d_a_g_1acc3078ef02bcb756a459fc1f1f17f0ca: .. ref-code-block:: cpp :class: doxyrest-title-code-block void get_adjacency_matrix(:ref:`AdjacencyMatrix`& matrix) get adjacency_matrix .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - vertices_map& - * - AdjacencyMatrix& - .. rubric:: Returns: void .. index:: pair: function; get_vertex .. _doxid-class_q_panda_1_1_q_prog_d_a_g_1a2617344d69a4c577f9663363f8ab9db1: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`QProgDAGVertex`& get_vertex(const size_t vertice_num) const get vertex by vertex num .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - size_t - vertex num .. rubric:: Returns: std::shared_ptr qnode