class QPanda::QuantumMachineFactory

Overview

Factory for class QuantumMachine. More…

#include <QuantumMachineFactory.h>

class QuantumMachineFactory
{
public:
    // typedefs

    typedef std::function<QuantumMachine*()> constructor_t;
    typedef std::map<std::string, constructor_t> constructor_map_t;

    // fields

    constructor_map_t _Quantum_Machine_Constructor;

    // methods

    static QuantumMachineFactory& GetFactoryInstance();
    QuantumMachine* CreateByName(std::string);
    QuantumMachine* CreateByType(QMachineType class_type);

    void registerclass(
        std::string,
        constructor_t constructor
        );
};

Detailed Documentation

Factory for class QuantumMachine.

Methods

static QuantumMachineFactory& GetFactoryInstance()

Get the static instance of factory.

Returns:

QuantumMachineFactory &