File: //opt/alt/python27/lib/python2.7/site-packages/future/types/newobject.pyo
�
�A�[c           @   s)   d  Z  d e f d �  �  YZ d g Z d S(   s�  
An object subclass for Python 2 that gives new-style classes written in the
style of Python 3 (with ``__next__`` and unicode-returning ``__str__`` methods)
the appropriate Python 2-style ``next`` and ``__unicode__`` methods for compatible.
Example use::
    from builtins import object
    my_unicode_str = u'Unicode string: \u5b54\u5b50'
    class A(object):
        def __str__(self):
            return my_unicode_str
    a = A()
    print(str(a))
    # On Python 2, these relations hold:
    assert unicode(a) == my_unicode_string
    assert str(a) == my_unicode_string.encode('utf-8')
Another example::
    from builtins import object
    class Upper(object):
        def __init__(self, iterable):
            self._iter = iter(iterable)
        def __next__(self):                 # note the Py3 interface
            return next(self._iter).upper()
        def __iter__(self):
            return self
    assert list(Upper('hello')) == list('HELLO')
t	   newobjectc           B   s;   e  Z d  Z d �  Z d �  Z d �  Z d �  Z d �  Z RS(   s�   
    A magical object class that provides Python 2 compatibility methods::
        next
        __unicode__
        __nonzero__
    Subclasses of this class can merely define the Python 3 methods (__next__,
    __str__, and __bool__).
    c         C   s2   t  |  d � r"