.. index:: pair: class; QPanda::QCircuitRewrite .. _doxid-class_q_panda_1_1_q_circuit_rewrite: class QPanda::QCircuitRewrite ============================= .. toctree:: :hidden: struct_QPanda_QCircuitRewrite_SemMatch.rst struct_QPanda_QCircuitRewrite_StructMatch.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QCircuitRewrite { public: // structs struct :ref:`SemMatch`; struct :ref:`StructMatch`; // fields :ref:`StructMatch` :target:`m_struct`; :ref:`SemMatch` :target:`m_sem`; std::set :target:`matched`; std::vector> :target:`match_vertex_list`; std::vector> :target:`match_qubit_list`; std::vector> :target:`match_angle_list`; // methods std::shared_ptr<:ref:`QProgDAG`> :target:`generator_to_dag`(:ref:`QCircuitGenerator`& cir_gen); :ref:`QProg` :target:`replace_subgraph`( std::shared_ptr<:ref:`QProgDAG`> g, :ref:`QCircuitGenerator::Ref` cir_gen ); void :target:`recursiveMatch`( std::shared_ptr<:ref:`QProgDAG`> pattern, std::shared_ptr<:ref:`QProgDAG`> graph, int i = 0 ); bool :target:`feasibilityRules`( std::shared_ptr<:ref:`QProgDAG`> pattern, std::shared_ptr<:ref:`QProgDAG`> graph, int n, int m, :ref:`StructMatch`& match ); std::shared_ptr<:ref:`QProg`> :target:`circuitRewrite`( :ref:`QProg` prog, const std::string& config_data ); static double :target:`angle_str_to_double`(const std::string angle_str); };