class QPanda::JudgeTwoNodeIterIsSwappable::OnPickUpNode
class OnPickUpNode: public QPanda::JudgeTwoNodeIterIsSwappable::AbstractJudgeStatueInterface
{
public:
// construction
OnPickUpNode(
JudgeTwoNodeIterIsSwappable& parent,
ResultStatue s
);
// methods
void handle_QGate(
std::shared_ptr<AbstractQGateNode> cur_node,
std::shared_ptr<QNode> parent_node,
QCircuitParam& cir_param,
NodeIter& cur_node_iter
);
void handle_QMeasure(
std::shared_ptr<AbstractQuantumMeasure> cur_node,
std::shared_ptr<QNode> parent_node,
QCircuitParam& cir_param,
NodeIter& cur_node_iter
);
void handle_QReset(
std::shared_ptr<AbstractQuantumReset> cur_node,
std::shared_ptr<QNode> parent_node,
QCircuitParam& cir_param,
NodeIter& cur_node_iter
);
void enter_flow_ctrl_node();
void leave_flow_ctrl_node();
void on_enter_circuit(
std::shared_ptr<AbstractQuantumCircuit> cur_node,
QCircuitParam& cir_param
);
void on_leave_circuit(
std::shared_ptr<AbstractQuantumCircuit> cur_node,
QCircuitParam& cir_param
);
void on_enter_prog(
std::shared_ptr<AbstractQuantumProgram> cur_node,
std::shared_ptr<QNode> parent_node,
QCircuitParam& cir_param
);
void on_leave_prog(
std::shared_ptr<AbstractQuantumProgram> cur_node,
std::shared_ptr<QNode> parent_node,
QCircuitParam& cir_param
);
ResultStatue get_statue() const;
};