class QPanda::AbstractQuantumCircuit¶
Overview¶
Quantum circuit basic abstract class. More…
#include <QCircuit.h> class AbstractQuantumCircuit: public QPanda::AbstractNodeManager { public: // methods 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; }; // direct descendants class OriginCircuit; class QCircuit;
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;
Detailed Documentation¶
Quantum circuit basic abstract class.
Methods¶
virtual bool isDagger() const = 0
Judge current quantum circuit is dagger.
Returns:
bool
virtual bool getControlVector(QVec&) = 0
Get control vector fron current quantum circuit node.
Parameters:
QVec& |
qubits vector |
Returns:
bool
See also:
virtual void setDagger(bool isDagger) = 0
Set dagger to current quantum circuit.
Parameters:
bool |
is dagger |
virtual void setControl(QVec) = 0
Set control qubits to current quantum circuit.
Parameters:
control qubits vector |
See also:
virtual void clearControl() = 0
Clear the control qubits for current quantum circuit.
See also:
virtual size_t get_used_qubits(QVec&) const = 0
Get the used qubits for current quantum circuit.
Parameters:
used qubits vector |
Returns:
size_t
virtual size_t get_qgate_num() = 0
Get current quantum circuit qgate number.
Returns:
size_t