.. index:: pair: class; QPanda::QProgToOriginIR .. _doxid-class_q_panda_1_1_q_prog_to_origin_i_r: class QPanda::QProgToOriginIR ============================= .. toctree:: :hidden: Overview ~~~~~~~~ QuantumProg Transform To OriginIR instruction sets. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgToOriginIR: public :ref:`QPanda::TraversalInterface` { public: // construction :target:`QProgToOriginIR`(:ref:`QuantumMachine`* quantum_machine); // methods virtual void :ref:`transform`(:ref:`QProg`& prog); template void :target:`traversal`(_Ty& node); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node ); virtual std::string :ref:`getInsturctions`(); }; 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 ); .. _details-class_q_panda_1_1_q_prog_to_origin_i_r: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ QuantumProg Transform To OriginIR instruction sets. Methods ------- .. index:: pair: function; transform .. _doxid-class_q_panda_1_1_q_prog_to_origin_i_r_1a1b6a00a4680bc5f92cd6010492a1ac93: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void transform(:ref:`QProg`& prog) Transform quantum program. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QProg& - quantum program .. rubric:: Returns: void .. index:: pair: function; getInsturctions .. _doxid-class_q_panda_1_1_q_prog_to_origin_i_r_1a7d1499b5b5388303b5ac7744f2c03f49: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual std::string getInsturctions() get OriginIR insturction set .. rubric:: Returns: std::string