o
    ,º]t  ã                   @   s„   d Z ddlmZmZmZ ddlZddlmZ ejs.ej	Z
ejZddlmZ ejZg d¢ZdS ddlZej
Z
ejZejZejZg ZdS )a¬  
This module is designed to be used as follows::

    from future.builtins.iterators import *

And then, for example::

    for i in range(10**15):
        pass

    for (a, b) in zip(range(10**15), range(-10**15, 0)):
        pass

Note that this is standard Python 3 code, plus some imports that do
nothing on Python 3.

The iterators this brings in are::

- ``range``
- ``filter``
- ``map``
- ``zip``

On Python 2, ``range`` is a pure-Python backport of Python 3's ``range``
iterator with slicing support. The other iterators (``filter``, ``map``,
``zip``) are from the ``itertools`` module on Python 2. On Python 3 these
are available in the module namespace but not exported for * imports via
__all__ (zero no namespace pollution).

Note that these are also available in the standard library
``future_builtins`` module on Python 2 -- but not Python 3, so using
the standard library version is not portable, nor anywhere near complete.
é    )ÚdivisionÚabsolute_importÚprint_functionN)Úutils)Únewrange)ÚfilterÚmapÚrangeÚzip)Ú__doc__Ú
__future__r   r   r   Ú	itertoolsÚfuturer   ÚPY3Úifilterr   Úimapr   Úfuture.typesr   r	   Úizipr
   Ú__all__Úbuiltins© r   r   ú;/usr/lib/python3/dist-packages/future/builtins/iterators.pyÚ<module>   s     "