§
    ¹³Ùg  ã                   ó6   — d Z ddlmZmZ  G d„ de¦  «        ZdS )zQuantum Operation Mixin.é    )ÚABCÚabstractmethodc                   óˆ   — e Zd ZdZdZeed„ ¦   «         ¦   «         Zeed„ ¦   «         ¦   «         Zeed„ ¦   «         ¦   «         Z	dS )Ú	Operationa*  Quantum operation interface.

    The minimal interface that any object must fulfil in order to be added to a
    :class:`.QuantumCircuit`.

    Concrete instances of this interface include :class:`~qiskit.circuit.Gate`,
    :class:`~qiskit.circuit.Reset`, :class:`~qiskit.circuit.Barrier`,
    :class:`~qiskit.circuit.Measure`, and operators such as :class:`~qiskit.quantum_info.Clifford`.

    The main purpose is to allow abstract mathematical objects to be added directly onto
    abstract circuits, and for the exact syntheses of these to be determined later, during
    compilation.

    Example:

        Add a Clifford and a Toffoli gate to a :class:`QuantumCircuit`.

        .. plot::
           :alt: Circuit diagram output by the previous code.
           :include-source:

           from qiskit import QuantumCircuit
           from qiskit.quantum_info import Clifford, random_clifford

           qc = QuantumCircuit(3)
           cliff = random_clifford(2)
           qc.append(cliff, [0, 1])
           qc.ccx(0, 1, 2)
           qc.draw('mpl')
    © c                 ó   — t           ‚)z,Unique string identifier for operation type.©ÚNotImplementedError©Úselfs    úN/granary/edev/quantum/lib/python3.11/site-packages/qiskit/circuit/operation.pyÚnamezOperation.name4   ó
   € õ "Ð!ó    c                 ó   — t           ‚)zNumber of qubits.r	   r   s    r   Ú
num_qubitszOperation.num_qubits:   r   r   c                 ó   — t           ‚)zNumber of classical bits.r	   r   s    r   Ú
num_clbitszOperation.num_clbits@   r   r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Úpropertyr   r   r   r   r   r   r   r   r      s’   € € € € € ðð ð> €IàØð"ð "ñ „^ñ „Xð"ð Øð"ð "ñ „^ñ „Xð"ð Øð"ð "ñ „^ñ „Xð"ð "ð "r   r   N)r   Úabcr   r   r   r   r   r   ú<module>r      sY   ðð Ð à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #ð2"ð 2"ð 2"ð 2"ð 2"�ñ 2"ô 2"ð 2"ð 2"ð 2"r   