class QPanda::TraverseByNodeIter¶
Overview¶
Traverse QProg By NodeIter. More…
#include <QCircuitInfo.h> class TraverseByNodeIter: public QPanda::TraversalInterface { 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<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); }; // direct descendants class AdjacentQGates; class GetAllNodeType; class GetAllUsedQubitAndCBit; class JudgeTwoNodeIterIsSwappable; class PickUpNodes; class ProcessOnTraversing; class QProgToDAG; class QProgToQASM; class RemapQProg;
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 );