.. index:: pair: class; QPanda::DecomposeControlSingleQGateIntoMetadataDoubleQGate .. _doxid-class_q_panda_1_1_decompose_control_single_q_gate_into_metadata_double_q_gate: class QPanda::DecomposeControlSingleQGateIntoMetadataDoubleQGate ================================================================ .. toctree:: :hidden: struct_QPanda_DecomposeControlSingleQGateIntoMetadataDoubleQGate_SpecialSingGate.rst Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class DecomposeControlSingleQGateIntoMetadataDoubleQGate: public :ref:`QPanda::TraversalInterface` { public: // structs struct :ref:`SpecialSingGate`; // construction :target:`DecomposeControlSingleQGateIntoMetadataDoubleQGate`( :ref:`QuantumMachine`* quantum_machine, std::vector> valid_qgate_matrix, const std::string& config_data = :ref:`CONFIG_PATH` ); // methods 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); }; 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_decompose_control_single_q_gate_into_metadata_double_q_gate: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Methods ------- .. index:: pair: function; execute .. _doxid-class_q_panda_1_1_decompose_control_single_q_gate_into_metadata_double_q_gate_1a66f8032d7c489292e473aca1a846744d: .. ref-code-block:: cpp :class: doxyrest-title-code-block 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_decompose_control_single_q_gate_into_metadata_double_q_gate_1a9c78fd05d5af0883cdffc99ee4779406: .. 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_decompose_control_single_q_gate_into_metadata_double_q_gate_1a670216842e7f405e99b585465ed0ad99: .. 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_decompose_control_single_q_gate_into_metadata_double_q_gate_1add77eeccc5f3b8df41474fab1aeb0f1d: .. 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_decompose_control_single_q_gate_into_metadata_double_q_gate_1ae37da644fe6851ed03f5d5673ba16f02: .. 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_decompose_control_single_q_gate_into_metadata_double_q_gate_1a61db5be839244e943a48382cbee8cd17: .. 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_decompose_control_single_q_gate_into_metadata_double_q_gate_1a7d3db0bbfd3758b079612a4d8192d343: .. 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