
    QVjiD                         d dl mZmZ d dlmZ d dlmZ d dlmZ ddgZ	 edd	          Z
d
 Z ed           G d dee
                               ZdS )    )CallableTypeVar)functional_datapipe)MapDataPipe)_check_unpickable_fnMapperMapDataPipe
default_fn_T_coT)	covariantc                     | S N )datas    a/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/utils/data/datapipes/map/callable.pyr	   r	      s    K    mapc                   b     e Zd ZU dZeed<   eed<   efdededdf fdZde	fdZ
defdZ xZS )	r   a  
    Apply the input function over each item from the source DataPipe (functional name: ``map``).

    The function can be any regular Python function or partial object. Lambda
    function is not recommended as it is not supported by pickle.

    Args:
        datapipe: Source MapDataPipe
        fn: Function being applied to each item

    Example:
        >>> # xdoctest: +SKIP
        >>> from torchdata.datapipes.map import SequenceWrapper, Mapper
        >>> def add_one(x):
        ...     return x + 1
        >>> dp = SequenceWrapper(range(10))
        >>> map_dp_1 = dp.map(add_one)
        >>> list(map_dp_1)
        [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        >>> map_dp_2 = Mapper(dp, lambda x: x + 1)
        >>> list(map_dp_2)
        [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    datapipefnreturnNc                     t                                                       || _        t          |           || _        d S r   )super__init__r   r   r   )selfr   r   	__class__s      r   r   zMapperMapDataPipe.__init__3   s;    
 	 R   r   c                 *    t          | j                  S r   )lenr   )r   s    r   __len__zMapperMapDataPipe.__len__=   s    4=!!!r   c                 B    |                      | j        |                   S r   )r   r   )r   indexs     r   __getitem__zMapperMapDataPipe.__getitem__@   s    wwt}U+,,,r   )__name__
__module____qualname____doc__r   __annotations__r   r	   r   intr   r
   r!   __classcell__)r   s   @r   r   r      s          0 LLL
 "   
	     " " " " "-E - - - - - - - -r   N)typingr   r   %torch.utils.data.datapipes._decoratorr   #torch.utils.data.datapipes.datapiper   'torch.utils.data.datapipes.utils.commonr   __all__r
   r	   r   r   r   r   <module>r.      s    $ $ $ $ $ $ $ $ E E E E E E ; ; ; ; ; ; H H H H H H 
- 	4(((   U*- *- *- *- *-E* *- *- *- *- *-r   