class QPanda::CutQCircuit

#include <CutQC.h>

class CutQCircuit
{
public:
    // structs

    struct CutFragment;

    // construction

    CutQCircuit(const QProgDAG& prog_dag);

    // methods

    void cut_circuit(
        const std::map<uint32_t, std::vector<uint32_t>>& cut_pos,
        const std::vector<std::vector<uint32_t>>& sub_graph_vertice,
        QuantumMachine* qvm
        );

    void generate_subcircuits(QuantumMachine* qvm);
    const std::vector<SubCircuit>& get_cutted_sub_circuits(std::vector<uint32_t>& qubit_permutation);
    std::vector<StitchesInfo> get_stitches(const std::map<uint32_t, std::vector<uint32_t>>& cut_pos);
};