
    shD                         S SK JrJr  S SKJr  S SKJr  S SKJr  SS/r	\" SSS	9r
S
 r\" S5       " S S\\
   5      5       rg)    )CallableTypeVar)functional_datapipe)MapDataPipe)_check_unpickable_fnMapperMapDataPipe
default_fn_T_coT)	covariantc                     U $ N )datas    {/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/utils/data/datapipes/map/callable.pyr	   r	      s    K    mapc                   t   ^  \ rS rSr% Sr\\S'   \\S'   \4S\S\SS4U 4S jjjr	S\
4S jrS\4S	 jrS
rU =r$ )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                 P   > [         TU ]  5         Xl        [        U5        X l        g r   )super__init__r   r   r   )selfr   r   	__class__s      r   r   MapperMapDataPipe.__init__3   s"    
 	 R r   c                 ,    [        U R                  5      $ r   )lenr   )r   s    r   __len__MapperMapDataPipe.__len__=   s    4==!!r   c                 >    U R                  U R                  U   5      $ r   )r   r   )r   indexs     r   __getitem__MapperMapDataPipe.__getitem__@   s    wwt}}U+,,r   )r   r   )__name__
__module____qualname____firstlineno____doc__r   __annotations__r   r	   r   intr    r
   r$   __static_attributes____classcell__)r   s   @r   r   r      s]    0 L
 "  
	 " "-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>r4      sU    $ E ; H 
- 	4( U*-E* *- *-r   