+
    ˜°³j=  ã                   ó|   € ^ RI t ^ RIt^ RIHtHtHt ^ RIHt ^ RIH	t	 ]! R4      t
R.t ! R R]	]
,          4      tR# )é    N)ÚIterableÚIteratorÚSized)ÚTypeVar)ÚIterDataPipeÚ_TÚIterableWrapperIterDataPipec                   ó^   a € ] tR t^t o RtR
V 3R lR lltV 3R lR ltV 3R lR ltRtV t	R	# )r	   a±  
Wraps an iterable object to create an IterDataPipe.

Args:
    iterable: Iterable object to be wrapped into an IterDataPipe
    deepcopy: Option to deepcopy input iterable object for each
        iterator. The copy is made when the first element is read in ``iter()``.

.. note::
    If ``deepcopy`` is explicitly set to ``False``, users should ensure
    that the data pipeline doesn't contain any in-place operations over
    the iterable instance to prevent data inconsistency across iterations.

Example:
    >>> # xdoctest: +SKIP
    >>> from torchdata.datapipes.iter import IterableWrapper
    >>> dp = IterableWrapper(range(10))
    >>> list(dp)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
c                ó:   <€ V ^8„  d   QhRS[ S[,          RS[RR/# )é   ÚiterableÚdeepcopyÚreturnN)r   r   Úbool)ÚformatÚ__classdict__s   "€Úf/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/data/datapipes/iter/utils.pyÚ__annotate__Ú(IterableWrapperIterDataPipe.__annotate__$   s&   ø€ ÷ !ñ !¡©"¥ð !¹ð !Èñ !ó    c                ó   € Wn         W n        R # )N)r   r   )Úselfr   r   s   &&&r   Ú__init__Ú$IterableWrapperIterDataPipe.__init__$   s   € Ø ŒØ Žr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r   r   )r   r   )r   r   s   "€r   r   r   (   s   ø€ ÷ ñ ™(¡2�,ñ r   c              #  óö   "  € V P                   pV P                  '       d"    \        P                  ! V P                   4      pT Rj  x€L
  R#   \         d    \        P
                  ! R ^R7        L1i ; i L/5i)zlThe input iterable can not be deepcopied, please be aware of in-place modification would affect source data.)Ú
stacklevelN)r   r   ÚcopyÚ	TypeErrorÚwarningsÚwarn)r   Úsource_datas   & r   Ú__iter__Ú$IterableWrapperIterDataPipe.__iter__(   sd   é € Ø—m‘mˆØ�=�=ˆ=ðÜ"Ÿmšm¨D¯M©MÓ:�ð ×Òøô ô Ü—’ðYà ÷ðúñ 	ùs4   ‚A9¢ A ÁA9ÁA7ÁA9Á#A4Á1A9Á3A4Á4A9c                ó    <€ V ^8„  d   QhRS[ /# r   )Úint)r   r   s   "€r   r   r   9   s   ø€ ÷ Uñ U™ñ Ur   c                ó®   € \        V P                  \        4      '       d   \        V P                  4      # \	        \        V 4      P                   R 24      h)z# instance doesn't have valid length)Ú
isinstancer   r   Úlenr    ÚtypeÚ__name__)r   s   &r   Ú__len__Ú#IterableWrapperIterDataPipe.__len__9   s@   € Ü�d—m‘m¤U×+Ò+Ü�t—}‘}Ó%Ð%Üœ4 ›:×.Ñ.Ð/Ð/RÐSÓTÐTr   )r   r   N)T)
r,   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r$   r-   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s*   ø‡ € ñ÷*!ò !÷ð ÷"Uö Ur   )r   r!   Úcollections.abcr   r   r   Útypingr   Ú#torch.utils.data.datapipes.datapiper   r   Ú__all__r	   © r   r   Ú<module>r:      s=   ðÛ Û ß 5Ñ 5Ý å <ñ ˆTƒ]€à(Ð
)€ô.U ,¨rÕ"2ö .Ur   