
    z	i                     \    S r SSKJr  SSKJr  SSKJrJr   " S S\5      r " S S	\5      r	g
)z7Circuit operation representing a ``break`` from a loop.    )Optional)Instruction   )InstructionPlaceholderInstructionResourcesc                   F   ^  \ rS rSrSrSS\S\S\\   4U 4S jjjrSr	U =r
$ )	BreakLoopOp   z|A circuit operation which, when encountered, jumps to the end of the nearest enclosing loop.
Can only be used inside loops.

num_qubits
num_clbitslabelc                 &   > [         TU ]  SX/ US9  g)z
Args:
    num_qubits: the number of qubits this affects.
    num_clbits: the number of qubits this affects.
    label: an optional string label for the instruction.

break_loopr   Nsuper__init__)selfr   r   r   	__class__s       _/home/james-whalen/.local/lib/python3.13/site-packages/qiskit/circuit/controlflow/break_loop.pyr   BreakLoopOp.__init__   s     	zrO     N)__name__
__module____qualname____firstlineno____doc__intr   strr   __static_attributes____classcell__r   s   @r   r	   r	      s0    P3 PC P P Pr   r	   c                   N   ^  \ rS rSrSrSS.S\\   4U 4S jjjrS rS r	S	r
U =r$ )
BreakLoopPlaceholder$   zA placeholder instruction for use in control-flow context managers, when the number of qubits
and clbits is not yet known.

.. warning::

    This is an internal interface and no part of it should be relied upon outside of Qiskit
    Terra.
Nr   r   c                (   > [         TU ]  SSS/ US9  g )Nr   r   r   r   )r   r   r   s     r   r   BreakLoopPlaceholder.__init__.   s    q!Ru=r   c                     [        [        U5      [        U5      U R                  S9[        [	        U5      [	        U5      S94$ )Nr   )qubitsclbits)r	   lenr   r   tuple)r   r+   r,   s      r   concrete_instruction)BreakLoopPlaceholder.concrete_instruction1   s6    FS[

C feFmL
 	
r   c                     [        5       $ r   )r   )r   s    r   placeholder_resources*BreakLoopPlaceholder.placeholder_resources7   s    #%%r   r   )r   r   r   r   r   r   r!   r   r/   r2   r"   r#   r$   s   @r   r&   r&   $   s1     26 ># > >
& &r   r&   N)
r   typingr   qiskit.circuit.instructionr   builderr   r   r	   r&   r   r   r   <module>r7      s.    :  2 AP+ P&1 &r   