class QGATE_SPACE::QDoubleGate

#include <QuantumGate.h>

class QDoubleGate:
    public QGATE_SPACE::QuantumGate,
    public QGATE_SPACE::DynamicCreator,
    public QGATE_SPACE::DynamicCreator
{
public:
    // construction

    QDoubleGate(QuantumGate* gate_old);
    QDoubleGate();
    QDoubleGate(const QDoubleGate& oldDouble);
    QDoubleGate(QStat& matrix);

    // methods

    virtual int getOperationNum() const;
    virtual void getMatrix(QStat&) const;
};

// direct descendants

class CU;
class ISWAP;
class ISWAPTheta;
class SQISWAP;
class SWAP;

Inherited Members

public:
    // structs

    struct Register;

    // fields

    static Register m_register;

    // methods

    virtual int getOperationNum() const = 0;
    virtual void getMatrix(QStat& matrix) const = 0;
    virtual int getGateType() const;
    static T* CreateObject(Targs&&... args);