.. index:: pair: class; QPanda::SabreQAllocator .. _doxid-class_q_panda_1_1_sabre_q_allocator: class QPanda::SabreQAllocator ============================= .. toctree:: :hidden: SABRE qubit mapping Implemented from Gushu et. al.: Tackling the :ref:`Qubit ` Mapping Problem for NISQ-Era Quantum Devices. .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class SabreQAllocator: public :ref:`QPanda::AbstractQubitMapping` { public: // typedefs typedef SabreQAllocator* :target:`Ref`; typedef std::unique_ptr :target:`uRef`; // methods static :ref:`uRef` :target:`Create`( :ref:`QPanda::ArchGraph::sRef` ag, uint32_t max_look_ahead = 20, uint32_t max_iterations = 10 ); uint32_t :target:`get_swap_cnt`() const; }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // typedefs typedef :ref:`AbstractQubitMapping`* :ref:`Ref`; typedef std::unique_ptr<:ref:`AbstractQubitMapping`> :ref:`uRef`; // methods bool :ref:`run`(:ref:`QPanda::QProg` prog, :ref:`QPanda::QuantumMachine`* qvm); void :ref:`setGateWeightMap`(const :ref:`GateWeightMap`& weightMap); const :ref:`Mapping`& :ref:`get_final_mapping`() const; const :ref:`Mapping`& :ref:`get_init_mapping`() const; :ref:`QPanda::QProg` :ref:`get_mapped_prog`() const;