
    ceG                        d Z ddlmZ dgZddlZddlZ ej        dej                  Z G d dej	        e         ej
        e                   ZdS )zAdditional data collections.    )annotations
OrderedSetNT)boundc                  P    e Zd ZdZdZdddZddZddZddZddZ	ddZ
ddZdS )r   z/Set, that preserves order of items added to it.)	__content contenttyping.Iterable[T]returnNonec                L    t          j        d |D                       | _        dS )z-Initialize new :class:`~OrderedSet` instance.c              3     K   | ]}|d fV  	d S )Nr	   ).0items     Jlib/python3.11/site-packages/anaconda_navigator/utils/extra_collections.py	<genexpr>z&OrderedSet.__init__.<locals>.<genexpr>   sB       \
 \
 4L\
 \
 \
 \
 \
 \
    N)collectionsOrderedDict_OrderedSet__content)selfr
   s     r   __init__zOrderedSet.__init__   s=    DOD[ \
 \
\
 \
 \
 E
 E
r   valuer   c                    d| j         |<   dS )z/Add new value to :class:`~OrderedSet` instance.Nr   r   r   s     r   addzOrderedSet.add   s     $ur   c                <    | j                             |d           dS )z3Discard a value from :class:`~OrderedSet` instance.N)r   popr   s     r   discardzOrderedSet.discard    s     5$'''''r   valuesc                :    |D ]}|                      |           dS )z5Add multiple values to :class:`~OrderedSet` instance.N)r   )r   r"   r   s      r   updatezOrderedSet.update$   s.      	 	EHHUOOOO	 	r   
typing.Anyboolc                    || j         v S )z5Check if `value` is in :class:`~OrderedSet` instance.r   r   s     r   __contains__zOrderedSet.__contains__*   s    &&r   typing.Iterator[T]c                *    t          | j                  S )zBIterate through the added values to :class:`~OrderedSet` instance.)iterr   r   s    r   __iter__zOrderedSet.__iter__.   s    DN###r   intc                *    t          | j                  S )zFRetrieve total number of added items in :class:`~OrderedSet` instance.)lenr   r,   s    r   __len__zOrderedSet.__len__2   s    4>"""r   N)r	   )r
   r   r   r   )r   r   r   r   )r"   r   r   r   )r   r%   r   r&   )r   r)   )r   r.   )__name__
__module____qualname____doc__	__slots__r   r   r!   r$   r(   r-   r1   r	   r   r   r   r      s        99I
 
 
 
 
% % % %( ( ( (   ' ' ' '$ $ $ $# # # # # #r   )r5   
__future__r   __all__r   typingTypeVarHashabler   
MutableSetGenericr   r	   r   r   <module>r>      s    # " " " " " " ".      FN3fo...$# $# $# $# $#"1%v~a'8 $# $# $# $# $#r   