Your IP : 18.119.19.206


Current Path : /lib64/python3.8/__pycache__/
Upload File :
Current File : //lib64/python3.8/__pycache__/_weakrefset.cpython-38.pyc

U

e5dg�@s2ddlmZdgZGdd�d�ZGdd�d�ZdS)���ref�WeakSetc@s$eZdZdd�Zdd�Zdd�ZdS)�_IterationGuardcCst|�|_dS�N)r�
weakcontainer)�selfr�r	�#/usr/lib64/python3.8/_weakrefset.py�__init__sz_IterationGuard.__init__cCs |��}|dk	r|j�|�|Sr)r�
_iterating�add)r�wr	r	r
�	__enter__sz_IterationGuard.__enter__cCs0|��}|dk	r,|j}|�|�|s,|��dSr)rr�remove�_commit_removals)r�e�t�br�sr	r	r
�__exit__s
z_IterationGuard.__exit__N)�__name__�
__module__�__qualname__rrrr	r	r	r
r
src@seZdZd@dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZeZd d!�Zd"d#�Zd$d%�ZeZd&d'�Zd(d)�Zd*d+�ZeZd,d-�Zd.d/�ZeZd0d1�Zd2d3�Zd4d5�Z e Z!d6d7�Z"d8d9�Z#d:d;�Z$e$Z%d<d=�Z&d>d?�Z'dS)ArNcCsBt�|_t|�fdd�}||_g|_t�|_|dk	r>|�|�dS)NcSs2|�}|dk	r.|jr"|j�|�n|j�|�dSr)r�_pending_removals�append�data�discard)�itemZselfrefrr	r	r
�_remove&s
z!WeakSet.__init__.<locals>._remove)�setrrrrr�update)rrrr	r	r
r$szWeakSet.__init__cCs$|j}|jj}|r ||���qdSr)rrr�pop)r�lrr	r	r
r4szWeakSet._commit_removalsc	cs8t|��&|jD]}|�}|dk	r|VqW5QRXdSr)rr�rZitemrefrr	r	r
�__iter__:s


zWeakSet.__iter__cCst|j�t|j�Sr)�lenrr�rr	r	r
�__len__CszWeakSet.__len__cCs.zt|�}Wntk
r"YdSX||jkS)NF)r�	TypeErrorr)rrZwrr	r	r
�__contains__Fs
zWeakSet.__contains__cCs|jt|�ft|dd�fS)N�__dict__)�	__class__�list�getattrr'r	r	r
�
__reduce__Ms
�zWeakSet.__reduce__cCs&|jr|��|j�t||j��dSr)rrrr
rr�rrr	r	r
r
QszWeakSet.addcCs|jr|��|j��dSr)rrr�clearr'r	r	r
r1Vsz
WeakSet.clearcCs
|�|�Sr�r,r'r	r	r
�copy[szWeakSet.copycCsT|jr|��z|j��}Wntk
r:td�d�YnX|�}|dk	r|SqdS)Nzpop from empty WeakSet)rrrr"�KeyErrorr$r	r	r
r"^szWeakSet.popcCs"|jr|��|j�t|��dSr)rrrrrr0r	r	r
rjszWeakSet.removecCs"|jr|��|j�t|��dSr)rrrrrr0r	r	r
roszWeakSet.discardcCs&|jr|��|D]}|�|�qdSr)rrr
)r�otherZelementr	r	r
r!tszWeakSet.updatecCs|�|�|Sr)r!�rr5r	r	r
�__ior__zs
zWeakSet.__ior__cCs|��}|�|�|Sr)r3�difference_update�rr5Znewsetr	r	r
�
difference~s
zWeakSet.differencecCs|�|�dSr)�__isub__r6r	r	r
r8�szWeakSet.difference_updatecCs<|jr|��||kr"|j��n|j�dd�|D��|S)Ncss|]}t|�VqdSrr��.0rr	r	r
�	<genexpr>�sz#WeakSet.__isub__.<locals>.<genexpr>)rrrr1r8r6r	r	r
r;�szWeakSet.__isub__cs���fdd�|D��S)Nc3s|]}|�kr|VqdSrr	r<r'r	r
r>�sz'WeakSet.intersection.<locals>.<genexpr>r2r6r	r'r
�intersection�szWeakSet.intersectioncCs|�|�dSr)�__iand__r6r	r	r
�intersection_update�szWeakSet.intersection_updatecCs(|jr|��|j�dd�|D��|S)Ncss|]}t|�VqdSrrr<r	r	r
r>�sz#WeakSet.__iand__.<locals>.<genexpr>)rrrrAr6r	r	r
r@�szWeakSet.__iand__cCs|j�dd�|D��S)Ncss|]}t|�VqdSrrr<r	r	r
r>�sz#WeakSet.issubset.<locals>.<genexpr>)r�issubsetr6r	r	r
rB�szWeakSet.issubsetcCs|jttt|��kSr�rr �maprr6r	r	r
�__lt__�szWeakSet.__lt__cCs|j�dd�|D��S)Ncss|]}t|�VqdSrrr<r	r	r
r>�sz%WeakSet.issuperset.<locals>.<genexpr>)r�
issupersetr6r	r	r
rF�szWeakSet.issupersetcCs|jttt|��kSrrCr6r	r	r
�__gt__�szWeakSet.__gt__cCs$t||j�stS|jttt|��kSr)�
isinstancer,�NotImplementedrr rDrr6r	r	r
�__eq__�szWeakSet.__eq__cCs|��}|�|�|Sr)r3�symmetric_difference_updater9r	r	r
�symmetric_difference�s
zWeakSet.symmetric_differencecCs|�|�dSr)�__ixor__r6r	r	r
rK�sz#WeakSet.symmetric_difference_updatecs@�jr����|kr"�j��n�j��fdd�|D���S)Nc3s|]}t|�j�VqdSr)rrr<r'r	r
r>�sz#WeakSet.__ixor__.<locals>.<genexpr>)rrrr1rKr6r	r'r
rM�szWeakSet.__ixor__cCs|�dd�||fD��S)Ncss|]}|D]
}|Vq
qdSrr	)r=rrr	r	r
r>�sz WeakSet.union.<locals>.<genexpr>r2r6r	r	r
�union�sz
WeakSet.unioncCst|�|��dkS)Nr)r&r?r6r	r	r
�
isdisjoint�szWeakSet.isdisjointcCs
t|j�Sr)�reprrr'r	r	r
�__repr__�szWeakSet.__repr__)N)(rrrrrr%r(r*r/r
r1r3r"rrr!r7r:�__sub__r8r;r?�__and__rAr@rB�__le__rErF�__ge__rGrJrL�__xor__rKrMrN�__or__rOrQr	r	r	r
r#sJ
			N)�_weakrefr�__all__rrr	r	r	r
�<module>s

?>