class QPanda::IdealMachineInterface

#include <QuantumMachineInterface.h>

class IdealMachineInterface
{
public:
    // methods

    virtual prob_vec PMeasure_no_index(QVec qubit_vector) = 0;

    virtual prob_tuple getProbTupleList(
        QVec,
        int
        ) = 0;

    virtual prob_vec getProbList(
        QVec,
        int
        ) = 0;

    virtual prob_dict getProbDict(
        QVec,
        int
        ) = 0;

    virtual prob_tuple probRunTupleList(
        QProg&,
        QVec,
        int
        ) = 0;

    virtual prob_vec probRunList(
        QProg&,
        QVec,
        int
        ) = 0;

    virtual prob_dict probRunDict(
        QProg&,
        QVec,
        int
        ) = 0;

    virtual std::map<std::string, size_t> quickMeasure(
        QVec,
        size_t
        ) = 0;

    virtual prob_tuple PMeasure(
        QVec qubit_vector,
        int select_max
        ) = 0;

    virtual QStat getQStat() = 0;
};

// direct descendants

class IdealQVM;