class QPanda::HadamardQCircuit

Hadamard quantum circuit program.

#include <QCircuit.h>

class HadamardQCircuit: public QPanda::QCircuit
{
public:
    // construction

    HadamardQCircuit(QVec& pQubitVector);
};

Inherited Members

public:
    // methods

    virtual NodeIter getFirstNodeIter() = 0;
    virtual NodeIter getLastNodeIter() = 0;
    virtual NodeIter getEndNodeIter() = 0;
    virtual NodeIter getHeadNodeIter() = 0;
    virtual NodeIter insertQNode(const NodeIter&, std::shared_ptr<QNode>) = 0;
    virtual NodeIter deleteQNode(NodeIter&) = 0;
    virtual void pushBackNode(std::shared_ptr<QNode>) = 0;
    virtual bool isDagger() const = 0;
    virtual bool getControlVector(QVec&) = 0;
    virtual void setDagger(bool isDagger) = 0;
    virtual void setControl(QVec) = 0;
    virtual void clearControl() = 0;
    virtual size_t get_used_qubits(QVec&) const = 0;
    virtual size_t get_qgate_num() = 0;
    std::shared_ptr<AbstractQuantumCircuit> getImplementationPtr();
    virtual void pushBackNode(std::shared_ptr<QNode>);

    template <typename T>
    QCircuit& operator << (T node);

    virtual QCircuit dagger();
    virtual QCircuit control(const QVec);
    NodeType getNodeType() const;
    virtual bool isDagger() const;
    virtual bool getControlVector(QVec&);
    virtual NodeIter getFirstNodeIter();
    virtual NodeIter getLastNodeIter();
    virtual NodeIter getEndNodeIter();
    virtual NodeIter getHeadNodeIter();
    virtual NodeIter insertQNode(const NodeIter&, std::shared_ptr<QNode>);
    virtual NodeIter deleteQNode(NodeIter&);
    bool is_empty();
    virtual void setDagger(bool isDagger);
    virtual void setControl(const QVec);
    virtual size_t get_used_qubits(QVec&) const;
    virtual size_t get_qgate_num();