.. index:: pair: class; QPanda::QubitPool .. _doxid-class_q_panda_1_1_qubit_pool: class QPanda::QubitPool ======================= .. toctree:: :hidden: Overview ~~~~~~~~ :ref:`QubitPool ` abstract class It is the container of the :ref:`PhysicalQubit `. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QubitPool { public: // methods virtual size_t :ref:`getMaxQubit`() const = 0; virtual size_t :ref:`get_max_usedqubit_addr`() const = 0; virtual size_t :ref:`getIdleQubit`() const = 0; virtual :ref:`Qubit`* :ref:`allocateQubit`() = 0; virtual :ref:`Qubit`* :ref:`allocateQubitThroughPhyAddress`(size_t) = 0; virtual :ref:`Qubit`* :ref:`allocateQubitThroughVirAddress`(size_t qubit_num) = 0; virtual void :ref:`Free_Qubit`(:ref:`Qubit`*) = 0; virtual void :ref:`clearAll`() = 0; virtual size_t :ref:`getPhysicalQubitAddr`(:ref:`Qubit`*) = 0; virtual size_t :ref:`getVirtualQubitAddress`(:ref:`Qubit`*) const = 0; virtual size_t :ref:`get_allocate_qubits`(std::vector<:ref:`Qubit`*>&) const = 0; }; // direct descendants class :ref:`OriginQubitPool`; class :ref:`OriginQubitPoolv1`; class :ref:`OriginQubitPoolv2`; .. _details-class_q_panda_1_1_qubit_pool: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ :ref:`QubitPool ` abstract class It is the container of the :ref:`PhysicalQubit `. Methods ------- .. index:: pair: function; getMaxQubit .. _doxid-class_q_panda_1_1_qubit_pool_1a557d6530da78875d35467979c7390017: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual size_t getMaxQubit() const = 0 get size of the :ref:`PhysicalQubit ` vector .. rubric:: Returns: size_t .. index:: pair: function; get_max_usedqubit_addr .. _doxid-class_q_panda_1_1_qubit_pool_1aa784fee5f1552fa751ff4da58ddd363b: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual size_t get_max_usedqubit_addr() const = 0 Gets the largest address in the used physical qubit. .. rubric:: Returns: size_t .. index:: pair: function; getIdleQubit .. _doxid-class_q_panda_1_1_qubit_pool_1ad6a5eba3ef747bea033d58ef8e9325d2: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual size_t getIdleQubit() const = 0 get size of the idle position .. rubric:: Returns: size_t .. index:: pair: function; allocateQubit .. _doxid-class_q_panda_1_1_qubit_pool_1a257710c139f9a9df2e7c98f8e8947f84: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Qubit`* allocateQubit() = 0 allocate a :ref:`Qubit ` .. rubric:: Returns: Qubit\* .. index:: pair: function; allocateQubitThroughPhyAddress .. _doxid-class_q_panda_1_1_qubit_pool_1affdaf4de13f5af779dc57c8f295f0493: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Qubit`* allocateQubitThroughPhyAddress(size_t) = 0 allocate a :ref:`Qubit ` through physical address .. rubric:: Returns: Qubit\* .. index:: pair: function; allocateQubitThroughVirAddress .. _doxid-class_q_panda_1_1_qubit_pool_1a9a7fa308c4ada8ab53b1761249e5615b: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Qubit`* allocateQubitThroughVirAddress(size_t qubit_num) = 0 allocate a :ref:`Qubit ` through virtual address .. rubric:: Returns: Qubit\* .. index:: pair: function; Free_Qubit .. _doxid-class_q_panda_1_1_qubit_pool_1aa7e5fa58ef884931215ce6e7f6c89141: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void Free_Qubit(:ref:`Qubit`*) = 0 free a :ref:`Qubit ` .. index:: pair: function; clearAll .. _doxid-class_q_panda_1_1_qubit_pool_1a7962635e7aba3c82037bb9e5c4c5179d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void clearAll() = 0 clear the :ref:`PhysicalQubit ` vector .. index:: pair: function; getPhysicalQubitAddr .. _doxid-class_q_panda_1_1_qubit_pool_1a0a2c2fbeb5f26eff65322e2809da4d6d: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual size_t getPhysicalQubitAddr(:ref:`Qubit`*) = 0 get physical qubit address .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Qubit\* - .. rubric:: Returns: size_t .. index:: pair: function; getVirtualQubitAddress .. _doxid-class_q_panda_1_1_qubit_pool_1a99572216322ec218e12cbc651002dc4a: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual size_t getVirtualQubitAddress(:ref:`Qubit`*) const = 0 get virtual qubit address .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - Qubit\* - .. rubric:: Returns: size_t .. index:: pair: function; get_allocate_qubits .. _doxid-class_q_panda_1_1_qubit_pool_1ac7914ab31598ef8d7f6b7a717f0856e7: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual size_t get_allocate_qubits(std::vector<:ref:`Qubit`*>&) const = 0 get allocate qubits .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - QVec& - .. rubric:: Returns: size_t