class QPanda::OriginCircuit¶
Overview¶
Implementation class of QCircuit. More…
#include <QCircuit.h> class OriginCircuit: public QPanda::QNode, public QPanda::AbstractQuantumCircuit { public: // methods virtual void pushBackNode(std::shared_ptr<QNode>); virtual void setDagger(bool isDagger); virtual void setControl(QVec); virtual 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&); void clear(); virtual void clearControl(); virtual size_t get_used_qubits(QVec&) const; virtual size_t get_qgate_num(); bool check_insert_node_type(std::shared_ptr<QNode> node); };
Inherited Members¶
public: // methods virtual NodeType getNodeType() const = 0; 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;
Detailed Documentation¶
Implementation class of QCircuit.
Methods¶
virtual void pushBackNode(std::shared_ptr<QNode>)
Insert a new Node at the end of current quantum circuit.
Parameters:
QNode* |
quantum node |
Returns:
void
See also:
virtual void setDagger(bool isDagger)
Set dagger to current quantum circuit.
Parameters:
bool |
is dagger |
virtual void setControl(QVec)
Set control qubits to current quantum circuit.
Parameters:
control qubits vector |
See also:
virtual NodeType getNodeType() const
Get current node type.
Returns:
NodeType current node type
See also:
virtual bool isDagger() const
Judge current quantum circuit is dagger.
Returns:
bool
virtual bool getControlVector(QVec&)
Get control vector fron current quantum circuit node.
Parameters:
QVec& |
qubits vector |
Returns:
bool
See also:
virtual NodeIter getFirstNodeIter()
Get the first NodeIter.
Returns:
virtual NodeIter getLastNodeIter()
Get the last NodeIter.
Returns:
virtual NodeIter getEndNodeIter()
Get the end NodeIter.
Returns:
virtual NodeIter getHeadNodeIter()
Get the head NodeIter.
Returns:
virtual NodeIter insertQNode(const NodeIter&, std::shared_ptr<QNode>)
Insert a new QNode at the location specified by NodeIter.
Parameters:
NodeIter& |
specified location |
std::shared_ptr<QNode> |
Inserted QNode |
Returns:
virtual NodeIter deleteQNode(NodeIter&)
Delete a QNode at the location specified by NodeIter.
Parameters:
NodeIter& |
specified location |
Returns:
void clear()
Clear all node in current quantum program node.
Returns:
void
virtual void clearControl()
Clear the control qubits for current quantum circuit.
See also:
virtual size_t get_used_qubits(QVec&) const
Get the used qubits for current quantum circuit.
Parameters:
used qubits vector |
Returns:
size_t
virtual size_t get_qgate_num()
Get current quantum circuit qgate number.
Returns:
size_t