.. index:: pair: class; QPanda::QProgToQASM .. _doxid-class_q_panda_1_1_q_prog_to_q_a_s_m: class QPanda::QProgToQASM ========================= .. toctree:: :hidden: Overview ~~~~~~~~ Quantum Prog Transform To QASM instruction sets. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgToQASM: public :ref:`QPanda::TraverseByNodeIter` { public: // construction :target:`QProgToQASM`( :ref:`QProg` src_prog, :ref:`QuantumMachine`* quantum_machine ); // methods virtual std::string :ref:`getInsturctions`(); virtual void :ref:`transform`(); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, Args&&... func_args ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :ref:`traverse_qprog`(:ref:`QProg` prog); .. _details-class_q_panda_1_1_q_prog_to_q_a_s_m: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Quantum Prog Transform To QASM instruction sets. Methods ------- .. index:: pair: function; getInsturctions .. _doxid-class_q_panda_1_1_q_prog_to_q_a_s_m_1aa111eace9acba3aed04690aafcf217f4: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual std::string getInsturctions() get QASM insturction set .. rubric:: Returns: std::string .. index:: pair: function; transform .. _doxid-class_q_panda_1_1_q_prog_to_q_a_s_m_1a217e4c62eaa2ba04117bcdaccf062071: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void transform() Transform Quantum program. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QProg& - quantum program .. rubric:: Returns: void