.. index:: pair: class; QPanda::QProgExecution .. _doxid-class_q_panda_1_1_q_prog_execution: class QPanda::QProgExecution ============================ .. toctree:: :hidden: Overview ~~~~~~~~ Qunatum Execution. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QProgExecution { public: // methods virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractControlFlowNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); virtual void :ref:`execute`( std::shared_ptr<:ref:`AbstractClassicalProg`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ); void :ref:`get_return_value`(std::map& result); }; .. _details-class_q_panda_1_1_q_prog_execution: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Qunatum Execution. Methods ------- .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1a966f9d5c43b67d5119c48daeb3f3cd1e: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal qgatenode. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQGateNode\* - quantum gate * - AbstractQGateNode\* - quantum gate * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1a563963e4aaedd262182cb6104ce1a904: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal measure node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumMeasure\* - measure node * - AbstractQGateNode\* - quantum gate * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1af07ecb2c67cff5e9271ef30f440f525d: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal reset node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumReset\* - reset node * - QNode\* - parent node * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1aeae5e229609cedd06b9dde140b5b86ec: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal control flow node. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractControlFlowNode\* - control flow node * - AbstractQGateNode\* - quantum gate * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1a999d22f945b16297062cdbff50134884: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal qcircuit. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumCircuit\* - quantum circuit * - AbstractQGateNode\* - quantum gate * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1ada5ddf5df30b2dee029d0cc37bd290ca: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractQuantumProgram\* - quantum prog * - AbstractQGateNode\* - quantum gate * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_q_prog_execution_1ae5201ee2cc2d58a7973c5e2daeaac167: .. 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:`TraversalConfig`& param, :ref:`QPUImpl`* qpu ) Execution traversal qprog. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - AbstractClassicalProg\* - quantum prog * - AbstractQGateNode\* - quantum gate * - :ref:`TraversalConfig ` - traversal config * - QPUImpl\* - virtual quantum processor .. rubric:: Returns: void .. index:: pair: function; get_return_value .. _doxid-class_q_panda_1_1_q_prog_execution_1ae77b5a3ebdbda8ad84e02d7bdc80024b: .. ref-code-block:: cpp :class: doxyrest-title-code-block void get_return_value(std::map& result) get result value .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - std::map - & result map