.. index:: pair: class; QPanda::SimpleGridDevice .. _doxid-class_q_panda_1_1_simple_grid_device: class QPanda::SimpleGridDevice ============================== .. toctree:: :hidden: Overview ~~~~~~~~ A derived class of :ref:`BasicGridDevice ` The two qubits are adjacent when their Manhattan distance is 1. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class SimpleGridDevice: public :ref:`QPanda::BasicGridDevice` { public: // construction :target:`SimpleGridDevice`( int m, int n ); // methods virtual bool :ref:`isNearBy`(int i1, int j1, int i2, int j2); virtual int :ref:`getDistance`(int i1, int j1, int i2, int j2); }; // direct descendants class :ref:`UncompletedGridDevice`; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // structs struct :ref:`PhysicalQubit`; // methods void :ref:`clear`(); int :ref:`getM`(); int :ref:`getN`(); auto& :ref:`getQubit`(int i, int j); bool :ref:`canApplyGate`(int i1, int j1, int i2, int j2, int); bool :ref:`canApplyGate`(int i, int j, int); bool :ref:`canSwap`(int i1, int j1, int i2, int j2); void :ref:`applySingleGate`(int i, int j); void :ref:`applyGate`(int i1, int j1, int i2, int j2, int time); void :ref:`applyDoubleGate`(int i1, int j1, int i2, int j2); void :ref:`applySwap`(int i1, int j1, int i2, int j2); virtual bool :ref:`isNearBy`(int i1, int j1, int i2, int j2) = 0; virtual int :ref:`getDistance`(int i1, int j1, int i2, int j2) = 0; void :ref:`map`(int dest, int i, int j); void :ref:`resetTime`(); void :ref:`nextCycle`(); int :ref:`maxTime`(); int :ref:`getTime`(); bool :ref:`isQubitFree`(int i, int j); bool :ref:`isAllQubitFree`(); bool :ref:`isSimpleGridDevice`(); bool :ref:`isSupportSwapGate`(); .. _details-class_q_panda_1_1_simple_grid_device: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ A derived class of :ref:`BasicGridDevice ` The two qubits are adjacent when their Manhattan distance is 1. Methods ------- .. index:: pair: function; isNearBy .. _doxid-class_q_panda_1_1_simple_grid_device_1abfbf15807f8f08aa472fc4d9eb80a304: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual bool isNearBy(int i1, int j1, int i2, int j2) Check if two qubits are adjacent, location of qubits are (i1, j1) and (i2, j2) .. index:: pair: function; getDistance .. _doxid-class_q_panda_1_1_simple_grid_device_1ad4473632999fa14c59a59758588dafc1: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual int getDistance(int i1, int j1, int i2, int j2) get distance+1 of two qubits