.. index:: pair: class; QPanda::QProgToQuil .. _doxid-class_q_panda_1_1_q_prog_to_quil: class QPanda::QProgToQuil ========================= .. toctree:: :hidden: Overview ~~~~~~~~ QuantumProg Transform To Quil instruction sets. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgToQuil: public :ref:`QPanda::TraversalInterface` { public: // construction :target:`QProgToQuil`(:ref:`QuantumMachine`* quantum_machine); // methods virtual void :ref:`transform`(:ref:`QProg`& prog); virtual std::string :ref:`getInsturctions`(); void :ref:`transformQProgByTraversalAlg`(:ref:`QProg`* prog); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); virtual void :target:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, bool& ); }; 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_quil: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ QuantumProg Transform To Quil instruction sets. Methods ------- .. index:: pair: function; transform .. _doxid-class_q_panda_1_1_q_prog_to_quil_1a99b1689d775e339edad54c477c432b75: .. 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_quil_1a69881bec169a2b73f1e1176cff5ceb08: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual std::string getInsturctions() get Quil insturction set .. rubric:: Returns: std::string .. index:: pair: function; transformQProgByTraversalAlg .. _doxid-class_q_panda_1_1_q_prog_to_quil_1ae9c39756138a1c6cfd8e0a8447c83b54: .. ref-code-block:: cpp :class: doxyrest-title-code-block void transformQProgByTraversalAlg(:ref:`QProg`* prog) Transform Quantum program by :ref:`Traversal ` algorithm, refer to class :ref:`Traversal `. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QProg& - quantum program .. rubric:: Returns: void