File: //lib/python3/dist-packages/zope/interface/common/__pycache__/builtins.cpython-310.pyc
o
$
x`� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ g d�Z G dd � d ej
�ZG d
d� dej�Z
G dd
� d
ej�ZG dd� dej�ZG dd� deeu rSene�Zeee� G dd� dej�ZG dd� dej�ZG dd� dej�ZdS )z�
Interface definitions for builtin types.
After this module is imported, the standard library types will declare
that they implement the appropriate interface.
.. versionadded:: 5.0.0
� )�absolute_import)�classImplements)�collections)�numbers)�io)�IList�ITuple�ITextString�IByteString�
INativeString�IBool�IDict�IFilec @ s e Zd ZdZefZddd�ZdS )r z%
Interface for :class:`list`
NFc C s dS )zs
Sort the list in place and return None.
*key* and *reverse* must be passed by name only.
N� )�key�reverser r �@/usr/lib/python3/dist-packages/zope/interface/common/builtins.py�sort. s z
IList.sort)NF)�__name__�
__module__�__qualname__�__doc__�list�
extra_classesr r r r r r ( s r c @ � e Zd ZdZefZdS )r z&
Interface for :class:`tuple`
N)r r r r �tupler r r r r r 6 �
r c @ s e Zd ZdZed�fZdS )r z�
Interface for text (unicode) strings.
On Python 2, this is :class:`unicode`. On Python 3,
this is :class:`str`
�unicodeN)r r r r �typer r r r r r = s r c @ r )r
z�
Interface for immutable byte strings.
On all Python versions this is :class:`bytes`.
Unlike :class:`zope.interface.common.collections.IByteString`
(the parent of this interface) this does *not* include
:class:`bytearray`.
N)r r r r �bytesr r r r r r
G s
r
c @ s e Zd ZdZdS )r z�
Interface for native strings.
On all Python versions, this is :class:`str`. On Python 2,
this extends :class:`IByteString`, while on Python 3 it extends
:class:`ITextString`.
N)r r r r r r r r r T s r c @ r )r z%
Interface for :class:`bool`
N)r r r r �boolr r r r r r ` r r c @ r )r
z%
Interface for :class:`dict`
N)r r r r �dictr r r r r r
g r r
c @ s2 e Zd ZdZzefZW dS ey dZY dS w )r a�
Interface for :class:`file`.
It is recommended to use the interfaces from :mod:`zope.interface.common.io`
instead of this interface.
On Python 3, there is no single implementation of this interface;
depending on the arguments, the :func:`open` builtin can return
many different classes that implement different interfaces from
:mod:`zope.interface.common.io`.
r N)r r r r �filer � NameErrorr r r r r n s
�r N)r �
__future__r �zope.interfacer �zope.interface.commonr r r �__all__�IMutableSequencer � ISequencer r r
�strr r � IIntegralr �IMutableMappingr
�IIOBaser r r r r �<module> s