.. index:: pair: class; QPanda::QProgToQCircuit .. _doxid-class_q_panda_1_1_q_prog_to_q_circuit: class QPanda::QProgToQCircuit ============================= .. toctree:: :hidden: Overview ~~~~~~~~ cast :ref:`QProg ` to :ref:`QCircuit ` :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgToQCircuit: public :ref:`QPanda::TraversalInterface` { public: // methods virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuit`& circuit ); }; 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_circuit: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ cast :ref:`QProg ` to :ref:`QCircuit ` Methods ------- .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_to_q_circuit_1ae7bcedcab6519d38c99c5bbe9898bfd4: .. 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, :ref:`QCircuit`& circuit ) 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_circuit_1a8b2e4bd8eae0388d1d83a44eaa299e24: .. 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, :ref:`QCircuit`& circuit ) 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_circuit_1aad5bfa0416c7c6d7a82db5f70f6aaeb9: .. 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, :ref:`QCircuit`& circuit ) 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_circuit_1a1c8741d88c4cbc4b3e1eb88a8b98f6ab: .. 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, :ref:`QCircuit`& circuit ) 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_circuit_1ad75af973b9c5849e5aac1db879c4f65d: .. 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, :ref:`QCircuit`& circuit ) 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_circuit_1a0287980b4c4b2714ec09e553d5e62f7c: .. 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, :ref:`QCircuit`& circuit ) 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_circuit_1a14b0eb9b85e2496cb5b94629de52e5a1: .. 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, :ref:`QCircuit`& circuit ) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractClassicalProg\* - quantum prog * - AbstractQGateNode\* - quantum gate .. rubric:: Returns: void