class QPanda::RemapQProg¶
remap a QProg to new qubits
#include <RemapQProg.h> class RemapQProg: public QPanda::TraverseByNodeIter { public: // methods virtual void execute( std::shared_ptr<AbstractQGateNode> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractQuantumMeasure> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractQuantumReset> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractControlFlowNode> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractClassicalProg> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); QProg remap( QProg src_prog, QVec target_qv, std::vector<ClassicalCondition> target_cv ); const std::map<size_t, Qubit*>& get_qubit_map() const; const std::map<size_t, ClassicalCondition>& get_cbit_map() const; };
Inherited Members¶
public: // methods virtual void execute( std::shared_ptr<AbstractQGateNode> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumMeasure> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumReset> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractControlFlowNode> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumCircuit> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumProgram> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractClassicalProg> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQGateNode> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractQuantumMeasure> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractQuantumReset> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractClassicalProg> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractControlFlowNode> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractQuantumCircuit> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void execute( std::shared_ptr<AbstractQuantumProgram> cur_node, std::shared_ptr<QNode> parent_node, QCircuitParam& cir_param, NodeIter& cur_node_iter ); virtual void traverse_qprog(QProg prog);