
    z	i2                    B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg)zBarrier instruction.

Can be applied to a :class:`~qiskit.circuit.QuantumCircuit`
with the :meth:`~qiskit.circuit.QuantumCircuit.barrier` method.
    )annotations)Instruction)StandardInstructionTypec                  ^   ^  \ rS rSrSrSr\R                  rSSU 4S jjjr	S	S
S jjr
SrU =r$ )Barrier   zA 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.
Tc                4   > X l         [        TU ]	  SUS/ US9  g)zl
Args:
    num_qubits: the number of qubits for the barrier.
    label: the optional label of this barrier.
barrierr   )labelN)_labelsuper__init__)self
num_qubitsr   	__class__s      P/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/circuit/barrier.pyr   Barrier.__init__#   s"     J2UC    c                ,    [        U R                  5      $ )zSpecial case. Return self.)r   r   )r   	annotateds     r   inverseBarrier.inverse,   s    t''r   )r   )N)r   intr   z
str | None)F)r   bool)__name__
__module____qualname____firstlineno____doc__
_directiver   r   _standard_instruction_typer   r   __static_attributes____classcell__)r   s   @r   r   r      s1     J!8!@!@D D( (r   r   N)r   
__future__r   qiskit.circuit.instructionr   qiskit._accelerate.circuitr   r    r   r   <module>r(      s!    # 2 >(k (r   