class QPanda::TransformSwapAlg

swap qubit location algorithm abstract class

#include <TopologyMatch.h>

class TransformSwapAlg
{
public:
    // methods

    virtual void transform(
        Qubit* control_qubit,
        Qubit* target_qubit,
        QProg& prog
        ) = 0;

    virtual int getSwapCost() = 0;
    virtual int getFlipCost() = 0;
};

// direct descendants

class TransformByCNOT;
class TransformByCZ;
class TransformByISWAP;
class TransformBySWAP;