class QPanda::AbstractQubitMapping

Base abstract class that allocates the qbits used in the program to the qbits that are in the physical architecture.

#include <QubitMapping.h>

class AbstractQubitMapping
{
public:
    // typedefs

    typedef AbstractQubitMapping* Ref;
    typedef std::unique_ptr<AbstractQubitMapping> uRef;

    // methods

    bool run(
        QPanda::QProg prog,
        QPanda::QuantumMachine* qvm
        );

    void setGateWeightMap(const GateWeightMap& weightMap);
    const Mapping& get_final_mapping() const;
    const Mapping& get_init_mapping() const;
    QPanda::QProg get_mapped_prog() const;
};

// direct descendants

class OptBMTQAllocator;
class SabreQAllocator;