Your IP : 3.133.141.195


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/_weakrefset.cpython-36.opt-1.pyc

3


 \I�@s2ddlmZdgZGdd�d�ZGdd�d�ZdS)�)�ref�WeakSetc@s$eZdZdd�Zdd�Zdd�ZdS)�_IterationGuardcCst|�|_dS)N)r�
weakcontainer)�selfr�r�#/usr/lib64/python3.6/_weakrefset.py�__init__sz_IterationGuard.__init__cCs |j�}|dk	r|jj|�|S)N)r�
_iterating�add)r�wrrr�	__enter__sz_IterationGuard.__enter__cCs0|j�}|dk	r,|j}|j|�|s,|j�dS)N)rr
�remove�_commit_removals)r�e�t�br�srrr�__exit__s
z_IterationGuard.__exit__N)�__name__�
__module__�__qualname__r	r
rrrrrr
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&dS)?rNcCsBt�|_t|�fdd�}||_g|_t�|_|dk	r>|j|�dS)NcSs2|�}|dk	r.|jr"|jj|�n|jj|�dS)N)r
�_pending_removals�append�data�discard)�item�selfrefrrrr�_remove&s
z!WeakSet.__init__.<locals>._remove)�setrrrrr
�update)rrrrrrr	$szWeakSet.__init__cCs(|j}|jj}x|r"||j��qWdS)N)rrr�pop)r�lrrrrr4szWeakSet._commit_removalsc
cs<t|��*x"|jD]}|�}|dk	r|VqWWdQRXdS)N)rr)r�itemrefrrrr�__iter__:s

zWeakSet.__iter__cCst|j�t|j�S)N)�lenrr)rrrr�__len__CszWeakSet.__len__cCs,yt|�}Wntk
r dSX||jkS)NF)r�	TypeErrorr)rr�wrrrr�__contains__Fs
zWeakSet.__contains__cCs|jt|�ft|dd�fS)N�__dict__)�	__class__�list�getattr)rrrr�
__reduce__MszWeakSet.__reduce__cCs&|jr|j�|jjt||j��dS)N)rrrrrr)rrrrrrQszWeakSet.addcCs|jr|j�|jj�dS)N)rrr�clear)rrrrr/Vsz
WeakSet.clearcCs
|j|�S)N)r+)rrrr�copy[szWeakSet.copycCsV|jr|j�xBy|jj�}Wntk
r:td��YnX|�}|dk	r|SqWdS)Nzpop from empty WeakSet)rrrr!�KeyError)rr#rrrrr!^szWeakSet.popcCs"|jr|j�|jjt|��dS)N)rrrrr)rrrrrrjszWeakSet.removecCs"|jr|j�|jjt|��dS)N)rrrrr)rrrrrroszWeakSet.discardcCs*|jr|j�x|D]}|j|�qWdS)N)rrr)r�other�elementrrrr ts
zWeakSet.updatecCs|j|�|S)N)r )rr2rrr�__ior__zs
zWeakSet.__ior__cCs|j�}|j|�|S)N)r0�difference_update)rr2�newsetrrr�
difference~s
zWeakSet.differencecCs|j|�dS)N)�__isub__)rr2rrrr5�szWeakSet.difference_updatecCs<|jr|j�||kr"|jj�n|jjdd�|D��|S)Ncss|]}t|�VqdS)N)r)�.0rrrr�	<genexpr>�sz#WeakSet.__isub__.<locals>.<genexpr>)rrrr/r5)rr2rrrr8�szWeakSet.__isub__cs�j�fdd�|D��S)Nc3s|]}|�kr|VqdS)Nr)r9r)rrrr:�sz'WeakSet.intersection.<locals>.<genexpr>)r+)rr2r)rr�intersection�szWeakSet.intersectioncCs|j|�dS)N)�__iand__)rr2rrr�intersection_update�szWeakSet.intersection_updatecCs(|jr|j�|jjdd�|D��|S)Ncss|]}t|�VqdS)N)r)r9rrrrr:�sz#WeakSet.__iand__.<locals>.<genexpr>)rrrr=)rr2rrrr<�szWeakSet.__iand__cCs|jjdd�|D��S)Ncss|]}t|�VqdS)N)r)r9rrrrr:�sz#WeakSet.issubset.<locals>.<genexpr>)r�issubset)rr2rrrr>�szWeakSet.issubsetcCs|jtdd�|D��kS)Ncss|]}t|�VqdS)N)r)r9rrrrr:�sz!WeakSet.__lt__.<locals>.<genexpr>)rr)rr2rrr�__lt__�szWeakSet.__lt__cCs|jjdd�|D��S)Ncss|]}t|�VqdS)N)r)r9rrrrr:�sz%WeakSet.issuperset.<locals>.<genexpr>)r�
issuperset)rr2rrrr@�szWeakSet.issupersetcCs|jtdd�|D��kS)Ncss|]}t|�VqdS)N)r)r9rrrrr:�sz!WeakSet.__gt__.<locals>.<genexpr>)rr)rr2rrr�__gt__�szWeakSet.__gt__cCs(t||j�stS|jtdd�|D��kS)Ncss|]}t|�VqdS)N)r)r9rrrrr:�sz!WeakSet.__eq__.<locals>.<genexpr>)�
isinstancer+�NotImplementedrr)rr2rrr�__eq__�szWeakSet.__eq__cCs|j�}|j|�|S)N)r0�symmetric_difference_update)rr2r6rrr�symmetric_difference�s
zWeakSet.symmetric_differencecCs|j|�dS)N)�__ixor__)rr2rrrrE�sz#WeakSet.symmetric_difference_updatecs@�jr�j��|kr"�jj�n�jj�fdd�|D���S)Nc3s|]}t|�j�VqdS)N)rr)r9r)rrrr:�sz#WeakSet.__ixor__.<locals>.<genexpr>)rrrr/rE)rr2r)rrrG�szWeakSet.__ixor__cCs|jdd�||fD��S)Ncss|]}|D]
}|Vq
qdS)Nr)r9rrrrrr:�sz WeakSet.union.<locals>.<genexpr>)r+)rr2rrr�union�sz
WeakSet.unioncCst|j|��dkS)Nr)r%r;)rr2rrr�
isdisjoint�szWeakSet.isdisjoint)N)'rrrr	rr$r&r)r.rr/r0r!rrr r4r7�__sub__r5r8r;�__and__r=r<r>�__le__r?r@�__ge__rArDrF�__xor__rErGrH�__or__rIrrrrr#sH
			N)�_weakrefr�__all__rrrrrr�<module>s