§
    ¹³Ùg´  ã                  óV   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d„ de¦  «        Z	d	S )
z’Barrier instruction.

Can be applied to a :class:`~qiskit.circuit.QuantumCircuit`
with the :meth:`~qiskit.circuit.QuantumCircuit.barrier` method.
é    )Úannotations©ÚQiskitError)Údeprecate_funcé   )ÚInstructionc                  ó`   ‡ — e Zd ZdZdZddˆ fd„Zddd„Z edd¬¦  «        d„ ¦   «         Zˆ xZ	S )ÚBarrierzâA directive for circuit compilation to separate pieces of a circuit so that any optimizations
    or re-writes are constrained to only act between barriers.

    This will also appear in visualizations as a visual marker.
    TNÚ
num_qubitsÚintÚlabelú
str | Nonec                ób   •— || _         t          ¦   «                              d|dg |¬¦  «         dS )zŒ
        Args:
            num_qubits: the number of qubits for the barrier.
            label: the optional label of this barrier.
        Úbarrierr   )r   N)Ú_labelÚsuperÚ__init__)Úselfr   r   Ú	__class__s      €úL/granary/edev/quantum/lib/python3.11/site-packages/qiskit/circuit/barrier.pyr   zBarrier.__init__#   s5   ø€ ð ˆŒÝ‰Œ×Ò˜ J°°2¸UÐÑCÔCÐCÐCÐCó    FÚ	annotatedÚboolc                ó*   — t          | j        ¦  «        S )zSpecial case. Return self.)r
   r   )r   r   s     r   ÚinversezBarrier.inverse,   s   € å�t”Ñ'Ô'Ð'r   z1.3.0zin 2.0.0)ÚsinceÚremoval_timelinec                ó    — t          d¦  «        ‚)Nz;Barriers are compiler directives and cannot be conditional.r   )r   Ú	classicalÚvals      r   Úc_ifzBarrier.c_if0   s   € åÐWÑXÔXÐXr   )N)r   r   r   r   )F)r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
_directiver   r   r   r!   Ú__classcell__)r   s   @r   r
   r
      s¦   ø€ € € € € ðð ð €JðDð Dð Dð Dð Dð Dð Dð(ð (ð (ð (ð (ð €^˜'°JÐ?Ñ?Ô?ðYð Yñ @Ô?ðYð Yð Yð Yð Yr   r
   N)
r%   Ú
__future__r   Úqiskit.exceptionsr   Úqiskit.utilsr   Úinstructionr   r
   © r   r   ú<module>r-      s—   ððð ð #Ð "Ð "Ð "Ð "Ð "à )Ð )Ð )Ð )Ð )Ð )Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø $Ð $Ð $Ð $Ð $Ð $ðYð Yð Yð Yð Yˆkñ Yô Yð Yð Yð Yr   