pair: class; QPanda::DecomposeMultipleControlQGate
Decomposing multiple control qgate in qprog. More...<details-class_q_panda_1_1_decompose_multiple_control_q_gate>
cpp
#include <TransformDecomposition.h>
class DecomposeMultipleControlQGate: public QPanda::TraversalInterface<doxid-class_q_panda_1_1_traversal_interface>
{ public: // methods
void
execute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1a66a76619cb41414c30dd5bbd8531b125>
(std::shared_ptr<AbstractQGateNode<doxid-class_q_panda_1_1_abstract_q_gate_node>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node); virtual voidexecute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1a9ef2976061a45d3a043af3332b65de01>
(std::shared_ptr<AbstractQuantumMeasure<doxid-class_q_panda_1_1_abstract_quantum_measure>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node); virtual voidexecute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1adb09d8b2c40261b28f9eb6c265c01b7f>
(std::shared_ptr<AbstractQuantumReset<doxid-class_q_panda_1_1_abstract_quantum_reset>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node); voidexecute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1a9cafff4f1e94dfe8d6289b1a15597049>
(std::shared_ptr<AbstractQuantumCircuit<doxid-class_q_panda_1_1_abstract_quantum_circuit>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node); virtual voidexecute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1af3bcaa1c0622ee045950c41a262030bd>
(std::shared_ptr<AbstractControlFlowNode<doxid-class_q_panda_1_1_abstract_control_flow_node>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node); virtual voidexecute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1a87ee2df6bd565aae8605c2e19392b761>
(std::shared_ptr<AbstractQuantumProgram<doxid-class_q_panda_1_1_abstract_quantum_program>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node); virtual voidexecute<doxid-class_q_panda_1_1_decompose_multiple_control_q_gate_1aa64bfd84557ad07351880cacd30c5546>
(std::shared_ptr<AbstractClassicalProg<doxid-class_q_panda_1_1_abstract_classical_prog>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node);
};
cpp
- public:
// methods
- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1adb53e4c20d48a0efd6e377680d7f0988>
( std::shared_ptr<
AbstractQGateNode<doxid-class_q_panda_1_1_abstract_q_gate_node>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1aed584073b781c9a5c6441b08b14afc3d>
( std::shared_ptr<
AbstractQuantumMeasure<doxid-class_q_panda_1_1_abstract_quantum_measure>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1aadbf69a810033196de1790d3f362ef7a>
( std::shared_ptr<
AbstractQuantumReset<doxid-class_q_panda_1_1_abstract_quantum_reset>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1aab65fda71b8e1f719bc4b7bdd70a10e7>
( std::shared_ptr<
AbstractControlFlowNode<doxid-class_q_panda_1_1_abstract_control_flow_node>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1ab452f71d25eb3354d46346694ff82db7>
( std::shared_ptr<
AbstractQuantumCircuit<doxid-class_q_panda_1_1_abstract_quantum_circuit>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1a4e97902dc8b42d5f5f50d790d11f1517>
( std::shared_ptr<
AbstractQuantumProgram<doxid-class_q_panda_1_1_abstract_quantum_program>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );- virtual void
execute<doxid-class_q_panda_1_1_traversal_interface_1aa311fe1c6abc46d84d90d6f412be063a>
( std::shared_ptr<
AbstractClassicalProg<doxid-class_q_panda_1_1_abstract_classical_prog>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node, Args&&... func_args );
- virtual void
Decomposing multiple control qgate in qprog.
pair: function; execute
cpp
void execute(std::shared_ptr<AbstractQGateNode<doxid-class_q_panda_1_1_abstract_q_gate_node>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal qgatenode.
Parameters:
Returns:
void
pair: function; execute
cpp
virtual void execute(std::shared_ptr<AbstractQuantumMeasure<doxid-class_q_panda_1_1_abstract_quantum_measure>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal measure node.
Parameters:
Returns:
void
pair: function; execute
cpp
virtual void execute(std::shared_ptr<AbstractQuantumReset<doxid-class_q_panda_1_1_abstract_quantum_reset>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal reset node.
Parameters:
Returns:
void
pair: function; execute
cpp
void execute(std::shared_ptr<AbstractQuantumCircuit<doxid-class_q_panda_1_1_abstract_quantum_circuit>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal qcircuit.
Parameters:
Returns:
void
pair: function; execute
cpp
virtual void execute(std::shared_ptr<AbstractControlFlowNode<doxid-class_q_panda_1_1_abstract_control_flow_node>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal control flow node.
Parameters:
Returns:
void
pair: function; execute
cpp
virtual void execute(std::shared_ptr<AbstractQuantumProgram<doxid-class_q_panda_1_1_abstract_quantum_program>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal qprog.
Parameters:
Returns:
void
pair: function; execute
cpp
virtual void execute(std::shared_ptr<AbstractClassicalProg<doxid-class_q_panda_1_1_abstract_classical_prog>
> cur_node, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
> parent_node)
Execution traversal qprog.
Parameters:
Returns:
void