.. index:: pair: class; QPanda::QProgToQGate .. _doxid-class_q_panda_1_1_q_prog_to_q_gate: class QPanda::QProgToQGate ========================== .. toctree:: :hidden: Overview ~~~~~~~~ cast :ref:`QProg ` to :ref:`QGate ` :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgToQGate: public :ref:`QPanda::TraversalInterface` { public: // methods virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); virtual void :ref:`execute`(std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node); std::shared_ptr<:ref:`AbstractQGateNode`> :target:`get_qgate`(); }; 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_q_gate: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ cast :ref:`QProg ` to :ref:`QGate ` Methods ------- .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1aa96f1bbae6badc2f5326acc598d9422d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qgatenode. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQGateNode\* - quantum gate * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1a6ad6daf3c79c233fbe4c800009f09c99: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal measure node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumMeasure\* - measure node * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1a38f01370ad618b4ce3da394c8a78405c: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal reset node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumReset\* - reset node * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1a24b101276e875e216d9b3ef02dddd7b2: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal control flow node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractControlFlowNode\* - control flow node * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1a2c589c07fe65e5b5cb17c1b35493e3e6: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qcircuit. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumCircuit\* - quantum circuit * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1abcb83bf2b752607d3ca682650b4c3b55: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumProgram\* - quantum prog * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_gate_1a74afc2cdcb8053aa88ffc65b9bdd7e80: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void execute(std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractClassicalProg\* - quantum prog * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void