.. index:: pair: class; QPanda::JudgeTwoNodeIterIsSwappable::AbstractJudgeStatueInterface .. _doxid-class_q_panda_1_1_judge_two_node_iter_is_swappable_1_1_abstract_judge_statue_interface: class QPanda::JudgeTwoNodeIterIsSwappable::AbstractJudgeStatueInterface ======================================================================= .. toctree:: :hidden: .. ref-code-block:: cpp :class: doxyrest-overview-code-block class AbstractJudgeStatueInterface { public: // methods virtual void :target:`handle_QGate`( std::shared_ptr<:ref:`AbstractQGateNode`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`handle_QMeasure`( std::shared_ptr<:ref:`AbstractQuantumMeasure`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`handle_QReset`( std::shared_ptr<:ref:`AbstractQuantumReset`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param, :ref:`NodeIter`& cur_node_iter ); virtual void :target:`enter_flow_ctrl_node`(); virtual void :target:`leave_flow_ctrl_node`(); virtual void :target:`on_enter_circuit`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, :ref:`QCircuitParam`& cir_param ); virtual void :target:`on_leave_circuit`( std::shared_ptr<:ref:`AbstractQuantumCircuit`> cur_node, :ref:`QCircuitParam`& cir_param ); virtual void :target:`on_enter_prog`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param ); virtual void :target:`on_leave_prog`( std::shared_ptr<:ref:`AbstractQuantumProgram`> cur_node, std::shared_ptr<:ref:`QNode`> parent_node, :ref:`QCircuitParam`& cir_param ); virtual void :target:`on_traversal_end`(); virtual ResultStatue :target:`get_statue`() const = 0; };