Skip to content

Latest commit

 

History

History
438 lines (240 loc) · 13.5 KB

class_QPanda_OriginCircuit.rst

File metadata and controls

438 lines (240 loc) · 13.5 KB

pair: class; QPanda::OriginCircuit

class QPanda::OriginCircuit

Overview

Implementation class of QCircuit <doxid-class_q_panda_1_1_q_circuit>. More...<details-class_q_panda_1_1_origin_circuit>

cpp

#include <QCircuit.h>

class OriginCircuit:

public QPanda::QNode<doxid-class_q_panda_1_1_q_node>, public QPanda::AbstractQuantumCircuit<doxid-class_q_panda_1_1_abstract_quantum_circuit>

{ public: // methods

virtual void pushBackNode<doxid-class_q_panda_1_1_origin_circuit_1abf6806443223d8a3501e21d20ad24cd8>(std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>>); virtual void setDagger<doxid-class_q_panda_1_1_origin_circuit_1ab829ebc2f3231193710d100dae2f966e>(bool isDagger); virtual void setControl<doxid-class_q_panda_1_1_origin_circuit_1a8ef52cb45260e28e86ac94261313d664>(QVec<doxid-class_q_panda_1_1_q_vec>); virtual NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16> getNodeType<doxid-class_q_panda_1_1_origin_circuit_1ab1a3d0a35640d9e78736ff4ff5140be8>() const; virtual bool isDagger<doxid-class_q_panda_1_1_origin_circuit_1a76c8eea1a291bffbfa2c168e31cfe880>() const; virtual bool getControlVector<doxid-class_q_panda_1_1_origin_circuit_1af49cd90d7105b7477ed8a35227af20b2>(QVec<doxid-class_q_panda_1_1_q_vec>&); virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getFirstNodeIter<doxid-class_q_panda_1_1_origin_circuit_1a2cdc2ed7434e40aa8423dda374bdf202>(); virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getLastNodeIter<doxid-class_q_panda_1_1_origin_circuit_1abe8561fc4a56d2bd288f7ef34272dcd3>(); virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getEndNodeIter<doxid-class_q_panda_1_1_origin_circuit_1a635c3ddf31519b53956ba549a6c7097e>(); virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getHeadNodeIter<doxid-class_q_panda_1_1_origin_circuit_1aa0411fe9a8b8afb35ef042b57437d895>(); virtual NodeIter<doxid-class_q_panda_1_1_node_iter> insertQNode<doxid-class_q_panda_1_1_origin_circuit_1ab25315f3aac7c54e454bf63d393a27a0>(const NodeIter<doxid-class_q_panda_1_1_node_iter>&, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>>); virtual NodeIter<doxid-class_q_panda_1_1_node_iter> deleteQNode<doxid-class_q_panda_1_1_origin_circuit_1a21cf62564fe12dd03957980277ff4610>(NodeIter<doxid-class_q_panda_1_1_node_iter>&); void clear<doxid-class_q_panda_1_1_origin_circuit_1a71718ac3207ca26d97a6646c4a21fee7>(); virtual void clearControl<doxid-class_q_panda_1_1_origin_circuit_1ae11603555437c0f54cf62113cbb9b5b6>(); virtual size_t get_used_qubits<doxid-class_q_panda_1_1_origin_circuit_1a45c1a4ac6067361724403d42f1d08451>(QVec<doxid-class_q_panda_1_1_q_vec>&) const; virtual size_t get_qgate_num<doxid-class_q_panda_1_1_origin_circuit_1a72d2b53b92190603ef47a37caa0862a5>(); bool check_insert_node_type<doxid-class_q_panda_1_1_origin_circuit_1af57dcaf1d2a684bfa58c9b9e14e927eb>(std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>> node);

};

Inherited Members

cpp

public:

// methods

virtual NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16> getNodeType<doxid-class_q_panda_1_1_q_node_1a8e8793fe1aabcd13db3ed1f79892c011>() const = 0; virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getFirstNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1aab8aacb324825696cf2c7735b8ce17bc>() = 0; virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getLastNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1af035a5d190751faeea05132aefe1d6c6>() = 0; virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getEndNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1ad2f723e4ab1bfbb499226d0a6939bd18>() = 0; virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getHeadNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1abffeb4cc2327ec65520da3b127999393>() = 0; virtual NodeIter<doxid-class_q_panda_1_1_node_iter> insertQNode<doxid-class_q_panda_1_1_abstract_node_manager_1a9b5dc4a55201cd684f010f60835dd40d>(const NodeIter<doxid-class_q_panda_1_1_node_iter>&, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>>) = 0; virtual NodeIter<doxid-class_q_panda_1_1_node_iter> deleteQNode<doxid-class_q_panda_1_1_abstract_node_manager_1a1aab80e3d5b0a1dab7f0804458c6628e>(NodeIter<doxid-class_q_panda_1_1_node_iter>&) = 0; virtual void pushBackNode<doxid-class_q_panda_1_1_abstract_node_manager_1ae4b5be219a36fc04e671f00dfe3b6b11>(std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>>) = 0; virtual bool isDagger<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a9901ebf6ad22292cba7f9911ec3b600f>() const = 0; virtual bool getControlVector<doxid-class_q_panda_1_1_abstract_quantum_circuit_1ac4e834af252b8cefb1a9de6ae8781a7d>(QVec<doxid-class_q_panda_1_1_q_vec>&) = 0; virtual void setDagger<doxid-class_q_panda_1_1_abstract_quantum_circuit_1ad25e733d7f1a6bb837ca764135db1c8b>(bool isDagger) = 0; virtual void setControl<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a0d810051304b282991d6fd1b87bb437d>(QVec<doxid-class_q_panda_1_1_q_vec>) = 0; virtual void clearControl<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a3e61c68f5be51f3716506b42e6cf2359>() = 0; virtual size_t get_used_qubits<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a5b7386321461dff5dcee0ae6dcd4812a>(QVec<doxid-class_q_panda_1_1_q_vec>&) const = 0; virtual size_t get_qgate_num<doxid-class_q_panda_1_1_abstract_quantum_circuit_1ad054a6feb7cca5f960df1420f0b9a629>() = 0;

Detailed Documentation

Implementation class of QCircuit <doxid-class_q_panda_1_1_q_circuit>.

Methods

pair: function; pushBackNode

cpp

virtual void pushBackNode(std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>>)

Insert a new Node at the end of current quantum circuit.

Parameters:

Returns:

void

See also:

QNode <doxid-class_q_panda_1_1_q_node>

pair: function; setDagger

cpp

virtual void setDagger(bool isDagger)

Set dagger to current quantum circuit.

Parameters:

pair: function; setControl

cpp

virtual void setControl(QVec<doxid-class_q_panda_1_1_q_vec>)

Set control qubits to current quantum circuit.

Parameters:

See also:

QVec <doxid-class_q_panda_1_1_q_vec>

pair: function; getNodeType

cpp

virtual NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16> getNodeType() const

Get current node type.

Returns:

NodeType current node type

See also:

NodeType <doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>

pair: function; isDagger

cpp

virtual bool isDagger() const

Judge current quantum circuit is dagger.

Returns:

bool

pair: function; getControlVector

cpp

virtual bool getControlVector(QVec<doxid-class_q_panda_1_1_q_vec>&)

Get control vector fron current quantum circuit node.

Parameters:

Returns:

bool

See also:

QVec <doxid-class_q_panda_1_1_q_vec>

pair: function; getFirstNodeIter

cpp

virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getFirstNodeIter()

Get the first NodeIter <doxid-class_q_panda_1_1_node_iter>.

Returns:

NodeIter <doxid-class_q_panda_1_1_node_iter>

pair: function; getLastNodeIter

cpp

virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getLastNodeIter()

Get the last NodeIter <doxid-class_q_panda_1_1_node_iter>.

Returns:

NodeIter <doxid-class_q_panda_1_1_node_iter>

pair: function; getEndNodeIter

cpp

virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getEndNodeIter()

Get the end NodeIter <doxid-class_q_panda_1_1_node_iter>.

Returns:

NodeIter <doxid-class_q_panda_1_1_node_iter>

pair: function; getHeadNodeIter

cpp

virtual NodeIter<doxid-class_q_panda_1_1_node_iter> getHeadNodeIter()

Get the head NodeIter <doxid-class_q_panda_1_1_node_iter>.

Returns:

NodeIter <doxid-class_q_panda_1_1_node_iter>

pair: function; insertQNode

cpp

virtual NodeIter<doxid-class_q_panda_1_1_node_iter> insertQNode(const NodeIter<doxid-class_q_panda_1_1_node_iter>&, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>>)

Insert a new QNode <doxid-class_q_panda_1_1_q_node> at the location specified by NodeIter <doxid-class_q_panda_1_1_node_iter>.

Parameters:

Returns:

NodeIter <doxid-class_q_panda_1_1_node_iter>

pair: function; deleteQNode

cpp

virtual NodeIter<doxid-class_q_panda_1_1_node_iter> deleteQNode(NodeIter<doxid-class_q_panda_1_1_node_iter>&)

Delete a QNode <doxid-class_q_panda_1_1_q_node> at the location specified by NodeIter <doxid-class_q_panda_1_1_node_iter>.

Parameters:

Returns:

NodeIter <doxid-class_q_panda_1_1_node_iter> Deleted NodeIter <doxid-class_q_panda_1_1_node_iter>

pair: function; clear

cpp

void clear()

Clear all node in current quantum program node.

Returns:

void

pair: function; clearControl

cpp

virtual void clearControl()

Clear the control qubits for current quantum circuit.

See also:

QVec <doxid-class_q_panda_1_1_q_vec>

pair: function; get_used_qubits

cpp

virtual size_t get_used_qubits(QVec<doxid-class_q_panda_1_1_q_vec>&) const

Get the used qubits for current quantum circuit.

Parameters:

Returns:

size_t

pair: function; get_qgate_num

cpp

virtual size_t get_qgate_num()

Get current quantum circuit qgate number.

Returns:

size_t