class QPanda::QNodeDeepCopy¶
Overview¶
Deep copy interface for classess based on QNode. More…
#include <QNodeDeepCopy.h> class QNodeDeepCopy: public QPanda::TraversalInterface { public: // methods std::shared_ptr<QNode> executeQNode(std::shared_ptr<QNode> node); QGate copy_node(std::shared_ptr<AbstractQGateNode>); QProg copy_node(std::shared_ptr<AbstractQuantumProgram>); QMeasure copy_node(std::shared_ptr<AbstractQuantumMeasure>); QReset copy_node(std::shared_ptr<AbstractQuantumReset>); QCircuit copy_node(std::shared_ptr<AbstractQuantumCircuit>); std::shared_ptr<AbstractControlFlowNode> copy_node(std::shared_ptr<AbstractControlFlowNode>); ClassicalProg copy_node(std::shared_ptr<AbstractClassicalProg>); void execute( std::shared_ptr<AbstractQGateNode>, std::shared_ptr<QNode> ); void execute( std::shared_ptr<AbstractClassicalProg>, std::shared_ptr<QNode> ); void execute( std::shared_ptr<AbstractQuantumCircuit>, std::shared_ptr<QNode> ); void execute( std::shared_ptr<AbstractQuantumMeasure>, std::shared_ptr<QNode> ); void execute( std::shared_ptr<AbstractQuantumReset>, std::shared_ptr<QNode> ); void execute( std::shared_ptr<AbstractControlFlowNode>, std::shared_ptr<QNode> ); void execute( std::shared_ptr<AbstractQuantumProgram>, std::shared_ptr<QNode> ); };
Inherited Members¶
public: // methods virtual void execute( std::shared_ptr<AbstractQGateNode> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumMeasure> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumReset> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractControlFlowNode> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumCircuit> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractQuantumProgram> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args ); virtual void execute( std::shared_ptr<AbstractClassicalProg> cur_node, std::shared_ptr<QNode> parent_node, Args&&... func_args );
Detailed Documentation¶
Deep copy interface for classess based on QNode.
Methods¶
std::shared_ptr<QNode> executeQNode(std::shared_ptr<QNode> node)
Execute QNode Node.
Parameters:
QNode* |
Returns:
std::shared_ptr<QPanda::QNode> new Node
QGate copy_node(std::shared_ptr<AbstractQGateNode>)
Execute Quantum Gate Node.
Parameters:
AbstractQGateNode* |
Quantum Gate Node |
Returns:
std::shared_ptr<QPanda::QNode> new QNode
QProg copy_node(std::shared_ptr<AbstractQuantumProgram>)
Execute Quantum QProg Node.
Parameters:
AbstractQuantumProgram* |
Quantum QProg Node |
Returns:
std::shared_ptr<QPanda::QNode> new Node
QMeasure copy_node(std::shared_ptr<AbstractQuantumMeasure>)
Execute Quantum Measure Node.
Parameters:
AbstractQuantumMeasure* |
Quantum Measure Node |
Returns:
std::shared_ptr<QPanda::QNode> new Node
QReset copy_node(std::shared_ptr<AbstractQuantumReset>)
Execute Quantum Reset Node.
Parameters:
AbstractQuantumReset* |
Quantum Reset Node |
Returns:
std::shared_ptr<QPanda::QNode> new Node
QCircuit copy_node(std::shared_ptr<AbstractQuantumCircuit>)
Execute Quantum Circuit Node.
Parameters:
AbstractQuantumCircuit* |
Quantum Circuit Node |
Returns:
std::shared_ptr<QPanda::QNode> new Node
std::shared_ptr<AbstractControlFlowNode> copy_node(std::shared_ptr<AbstractControlFlowNode>)
Execute ControlFlow Node.
Parameters:
AbstractControlFlowNode* |
ControlFlow Node |
Returns:
std::shared_ptr<QPanda::QNode> new Node
ClassicalProg copy_node(std::shared_ptr<AbstractClassicalProg>)
Execute ClassicalProg Node.
Parameters:
AbstractClassicalProg* |
ClassicalProg Node |
Returns:
std::shared_ptr<QPanda::QNode> new Node