class QPanda::OriginCMem

Overview

Implementation class of CMem. More…

#include <OriginQuantumMachine.h>

class OriginCMem: public QPanda::CMem
{
public:
    // methods

    static OriginCMem* get_instance();
    CBit* get_cbit_by_addr(size_t caddr);
    size_t get_capacity();
    void set_capacity(size_t capacity_num);
    virtual CBit* Allocate_CBit();
    virtual CBit* Allocate_CBit(size_t);
    virtual size_t getMaxMem() const;
    virtual size_t getIdleMem() const;
    virtual void Free_CBit(CBit*);
    virtual void clearAll();
    virtual size_t get_allocate_cbits(std::vector<CBit*>&);
    CBit* cAlloc();
    CBit* cAlloc(size_t);
    std::vector<ClassicalCondition> cAllocMany(size_t);
    void cFree(CBit*);
    void cFreeAll(std::vector<CBit*>&);
};

Inherited Members

public:
    // methods

    virtual CBit* Allocate_CBit() = 0;
    virtual CBit* Allocate_CBit(size_t) = 0;
    virtual size_t getMaxMem() const = 0;
    virtual size_t getIdleMem() const = 0;
    virtual void Free_CBit(CBit*) = 0;
    virtual void clearAll() = 0;
    virtual size_t get_allocate_cbits(std::vector<CBit*>&) = 0;

Detailed Documentation

Implementation class of CMem.

Methods

virtual CBit* Allocate_CBit()

allocate a CBit

Returns:

CBit*

virtual CBit* Allocate_CBit(size_t)

allocate a CBit by bit address

Returns:

CBit*

virtual size_t getMaxMem() const

get size of the CBit vector

Returns:

size_t

virtual size_t getIdleMem() const

get size of the idle position

Returns:

size_t

virtual void Free_CBit(CBit*)

free a CBit

Parameters:

CBit*

virtual void clearAll()

clear the CBit vector

virtual size_t get_allocate_cbits(std::vector<CBit*>&)

get allocate cbits

Parameters:

std::vector<CBit

*>&

Returns:

size_t allocate cbits size