class QPanda::QCircuitGenerator
#include <QCircuitGenerator.h>
class QCircuitGenerator
{
public:
// typedefs
typedef std::shared_ptr<QCircuitGenerator::CircuitNode> CircuitNodeRef;
typedef std::shared_ptr<QCircuitGenerator> Ref;
// structs
struct CircuitNode;
// methods
void set_param(
const QVec& qubits,
const std::vector<double>& angle
);
CircuitNodeRef build_cir_node(
std::string op,
const std::vector<uint32_t>& target_q,
const std::vector<std::string>& angle = {},
const std::vector<uint32_t>& control_q = {},
bool is_dagger = false
);
QCircuit get_cir();
void append_cir_node(CircuitNodeRef node);
void append_cir_node(
std::string op,
const std::vector<uint32_t>& target_q,
const std::vector<std::string>& angle = {},
const std::vector<uint32_t>& control_q = {},
bool is_dagger = false
);
const std::vector<CircuitNodeRef>& get_cir_node_vec() const;
uint32_t get_circuit_width();
void set_circuit_width(uint32_t w);
};