pair: class; QPanda::OriginCircuit
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>
, publicQPanda::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 voidsetDagger<doxid-class_q_panda_1_1_origin_circuit_1ab829ebc2f3231193710d100dae2f966e>
(bool isDagger); virtual voidsetControl<doxid-class_q_panda_1_1_origin_circuit_1a8ef52cb45260e28e86ac94261313d664>
(QVec<doxid-class_q_panda_1_1_q_vec>
); virtualNodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>
getNodeType<doxid-class_q_panda_1_1_origin_circuit_1ab1a3d0a35640d9e78736ff4ff5140be8>
() const; virtual boolisDagger<doxid-class_q_panda_1_1_origin_circuit_1a76c8eea1a291bffbfa2c168e31cfe880>
() const; virtual boolgetControlVector<doxid-class_q_panda_1_1_origin_circuit_1af49cd90d7105b7477ed8a35227af20b2>
(QVec<doxid-class_q_panda_1_1_q_vec>
&); virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getFirstNodeIter<doxid-class_q_panda_1_1_origin_circuit_1a2cdc2ed7434e40aa8423dda374bdf202>
(); virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getLastNodeIter<doxid-class_q_panda_1_1_origin_circuit_1abe8561fc4a56d2bd288f7ef34272dcd3>
(); virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getEndNodeIter<doxid-class_q_panda_1_1_origin_circuit_1a635c3ddf31519b53956ba549a6c7097e>
(); virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getHeadNodeIter<doxid-class_q_panda_1_1_origin_circuit_1aa0411fe9a8b8afb35ef042b57437d895>
(); virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
insertQNode<doxid-class_q_panda_1_1_origin_circuit_1ab25315f3aac7c54e454bf63d393a27a0>
(constNodeIter<doxid-class_q_panda_1_1_node_iter>
&, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
>); virtualNodeIter<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>
&); voidclear<doxid-class_q_panda_1_1_origin_circuit_1a71718ac3207ca26d97a6646c4a21fee7>
(); virtual voidclearControl<doxid-class_q_panda_1_1_origin_circuit_1ae11603555437c0f54cf62113cbb9b5b6>
(); virtual size_tget_used_qubits<doxid-class_q_panda_1_1_origin_circuit_1a45c1a4ac6067361724403d42f1d08451>
(QVec<doxid-class_q_panda_1_1_q_vec>
&) const; virtual size_tget_qgate_num<doxid-class_q_panda_1_1_origin_circuit_1a72d2b53b92190603ef47a37caa0862a5>
(); boolcheck_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);
};
cpp
- public:
// methods
virtual
NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>
getNodeType<doxid-class_q_panda_1_1_q_node_1a8e8793fe1aabcd13db3ed1f79892c011>
() const = 0; virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getFirstNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1aab8aacb324825696cf2c7735b8ce17bc>
() = 0; virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getLastNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1af035a5d190751faeea05132aefe1d6c6>
() = 0; virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getEndNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1ad2f723e4ab1bfbb499226d0a6939bd18>
() = 0; virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
getHeadNodeIter<doxid-class_q_panda_1_1_abstract_node_manager_1abffeb4cc2327ec65520da3b127999393>
() = 0; virtualNodeIter<doxid-class_q_panda_1_1_node_iter>
insertQNode<doxid-class_q_panda_1_1_abstract_node_manager_1a9b5dc4a55201cd684f010f60835dd40d>
(constNodeIter<doxid-class_q_panda_1_1_node_iter>
&, std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
>) = 0; virtualNodeIter<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 voidpushBackNode<doxid-class_q_panda_1_1_abstract_node_manager_1ae4b5be219a36fc04e671f00dfe3b6b11>
(std::shared_ptr<QNode<doxid-class_q_panda_1_1_q_node>
>) = 0; virtual boolisDagger<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a9901ebf6ad22292cba7f9911ec3b600f>
() const = 0; virtual boolgetControlVector<doxid-class_q_panda_1_1_abstract_quantum_circuit_1ac4e834af252b8cefb1a9de6ae8781a7d>
(QVec<doxid-class_q_panda_1_1_q_vec>
&) = 0; virtual voidsetDagger<doxid-class_q_panda_1_1_abstract_quantum_circuit_1ad25e733d7f1a6bb837ca764135db1c8b>
(bool isDagger) = 0; virtual voidsetControl<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a0d810051304b282991d6fd1b87bb437d>
(QVec<doxid-class_q_panda_1_1_q_vec>
) = 0; virtual voidclearControl<doxid-class_q_panda_1_1_abstract_quantum_circuit_1a3e61c68f5be51f3716506b42e6cf2359>
() = 0; virtual size_tget_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_tget_qgate_num<doxid-class_q_panda_1_1_abstract_quantum_circuit_1ad054a6feb7cca5f960df1420f0b9a629>
() = 0;
Implementation class of QCircuit <doxid-class_q_panda_1_1_q_circuit>
.
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