.. index:: pair: class; QPanda::QNodeDeepCopy .. _doxid-class_q_panda_1_1_q_node_deep_copy: class QPanda::QNodeDeepCopy =========================== .. toctree:: :hidden: Overview ~~~~~~~~ Deep copy interface for classess based on :ref:`QNode `. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QNodeDeepCopy: public :ref:`QPanda::TraversalInterface` { public: // methods std::shared_ptr<:ref:`QNode`> :ref:`executeQNode`(std::shared_ptr<:ref:`QNode`> node); :ref:`QGate` :ref:`copy_node`(std::shared_ptr<:ref:`AbstractQGateNode`>); :ref:`QProg` :ref:`copy_node`(std::shared_ptr<:ref:`AbstractQuantumProgram`>); :ref:`QMeasure` :ref:`copy_node`(std::shared_ptr<:ref:`AbstractQuantumMeasure`>); :ref:`QReset` :ref:`copy_node`(std::shared_ptr<:ref:`AbstractQuantumReset`>); :ref:`QCircuit` :ref:`copy_node`(std::shared_ptr<:ref:`AbstractQuantumCircuit`>); std::shared_ptr<:ref:`AbstractControlFlowNode`> :ref:`copy_node`(std::shared_ptr<:ref:`AbstractControlFlowNode`>); :ref:`ClassicalProg` :ref:`copy_node`(std::shared_ptr<:ref:`AbstractClassicalProg`>); void :target:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`>, std::shared_ptr<:ref:`QNode`> ); void :target:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`>, std::shared_ptr<:ref:`QNode`> ); void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`>, std::shared_ptr<:ref:`QNode`> ); void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`>, std::shared_ptr<:ref:`QNode`> ); void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`>, std::shared_ptr<:ref:`QNode`> ); void :target:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`>, std::shared_ptr<:ref:`QNode`> ); void :target:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`>, std::shared_ptr<:ref:`QNode`> ); }; 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_node_deep_copy: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Deep copy interface for classess based on :ref:`QNode `. Methods ------- .. index:: pair: function; executeQNode .. _doxid-class_q_panda_1_1_q_node_deep_copy_1aee69de6e692e742b7107592a3f156b83: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::shared_ptr<:ref:`QNode`> executeQNode(std::shared_ptr<:ref:`QNode`> node) Execute :ref:`QNode ` Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QNode\* - .. rubric:: Returns: std::shared_ptr new Node .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1a134f4799ed71fb30f28df3d2b44ac5da: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`QGate` copy_node(std::shared_ptr<:ref:`AbstractQGateNode`>) Execute Quantum Gate Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQGateNode\* - Quantum Gate Node .. rubric:: Returns: std::shared_ptr new :ref:`QNode ` .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1a1c50d05fbecefe3b501ae746667c0cd8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`QProg` copy_node(std::shared_ptr<:ref:`AbstractQuantumProgram`>) Execute Quantum :ref:`QProg ` Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumProgram\* - Quantum :ref:`QProg ` Node .. rubric:: Returns: std::shared_ptr new Node .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1a68533c85304335408722fc2863b10c1c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`QMeasure` copy_node(std::shared_ptr<:ref:`AbstractQuantumMeasure`>) Execute Quantum Measure Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumMeasure\* - Quantum Measure Node .. rubric:: Returns: std::shared_ptr new Node .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1a79a02a7004fd250b171ef3f66ba5ee2e: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`QReset` copy_node(std::shared_ptr<:ref:`AbstractQuantumReset`>) Execute Quantum Reset Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumReset\* - Quantum Reset Node .. rubric:: Returns: std::shared_ptr new Node .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1ae6295c34c5d352b07b5cdb46d5e30d85: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`QCircuit` copy_node(std::shared_ptr<:ref:`AbstractQuantumCircuit`>) Execute Quantum Circuit Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumCircuit\* - Quantum Circuit Node .. rubric:: Returns: std::shared_ptr new Node .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1a080c042b1752d9ced31fc2837ae8232b: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::shared_ptr<:ref:`AbstractControlFlowNode`> copy_node(std::shared_ptr<:ref:`AbstractControlFlowNode`>) Execute ControlFlow Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractControlFlowNode\* - ControlFlow Node .. rubric:: Returns: std::shared_ptr new Node .. index:: pair: function; copy_node .. _doxid-class_q_panda_1_1_q_node_deep_copy_1a118bdb859514b48aa813a6908ee6e831: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`ClassicalProg` copy_node(std::shared_ptr<:ref:`AbstractClassicalProg`>) Execute :ref:`ClassicalProg ` Node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractClassicalProg\* - :ref:`ClassicalProg ` Node .. rubric:: Returns: std::shared_ptr new Node