Current File : //lib/python3.9/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc
a

[��f��@s2dZddlZddlmZmZmZGdd�d�ZdS)zUtilities for defining models
�N)�Any�Callable�Typec@s�eZdZdZddgZeeddd�dd�Zed�d	d
�Z	ee
d�dd
�Zee
d�dd�Zee
d�dd�Z
ee
d�dd�Zee
d�dd�Zeeeege
fe
d�dd�ZdS)�KeyBasedCompareMixinz7Provides comparison capabilities that is based on a key�_compare_key�_defining_classN)�key�defining_class�returncCs||_||_dS�N)rr)�selfrr	�r
�>/usr/lib/python3.9/site-packages/pip/_internal/utils/models.py�__init__
szKeyBasedCompareMixin.__init__)r
cCs
t|j�Sr)�hashr)rr
r
r�__hash__szKeyBasedCompareMixin.__hash__)�otherr
cCs|�|tj�Sr)�_compare�operator�__lt__�rrr
r
rrszKeyBasedCompareMixin.__lt__cCs|�|tj�Sr)rr�__le__rr
r
rrszKeyBasedCompareMixin.__le__cCs|�|tj�Sr)rr�__gt__rr
r
rrszKeyBasedCompareMixin.__gt__cCs|�|tj�Sr)rr�__ge__rr
r
rrszKeyBasedCompareMixin.__ge__cCs|�|tj�Sr)rr�__eq__rr
r
rr szKeyBasedCompareMixin.__eq__)r�methodr
cCst||j�stS||j|j�Sr)�
isinstancer�NotImplementedr)rrrr
r
rr#szKeyBasedCompareMixin._compare)�__name__�
__module__�__qualname__�__doc__�	__slots__rrr�intr�boolrrrrrrrr
r
r
rrsr)r!r�typingrrrrr
r
r
r�<module>s