File: //lib/python3/dist-packages/pip/_internal/utils/__pycache__/models.cpython-310.pyc
o
@%Ne� � @ s2 d Z ddlZddlmZmZmZ G dd� d�ZdS )zUtilities for defining models
� N)�Any�Callable�Typec @ s� e Zd ZdZddgZdeded ddfdd �Zdefd
d�Z dede
fd
d�Zdede
fdd�Zdede
fdd�Z
dede
fdd�Zdede
fdd�Zdedeeege
f de
fdd�ZdS )�KeyBasedCompareMixinz7Provides comparison capabilities that is based on a key�_compare_key�_defining_class�key�defining_class�returnNc C s || _ || _d S �N)r r )�selfr r � r
�</usr/lib/python3/dist-packages/pip/_internal/utils/models.py�__init__
s
zKeyBasedCompareMixin.__init__c C s
t | j�S r )�hashr )r r
r
r �__hash__ s
zKeyBasedCompareMixin.__hash__�otherc C � | � |tj�S r )�_compare�operator�__lt__�r r r
r
r r � zKeyBasedCompareMixin.__lt__c C r r )r r �__le__r r
r
r r r zKeyBasedCompareMixin.__le__c C r r )r r �__gt__r r
r
r r r zKeyBasedCompareMixin.__gt__c C r r )r r �__ge__r r
r
r r r zKeyBasedCompareMixin.__ge__c C r r )r r �__eq__r r
r
r r r zKeyBasedCompareMixin.__eq__�methodc C s t || j�stS || j|j�S r )�
isinstancer �NotImplementedr )r r r r
r
r r # s zKeyBasedCompareMixin._compare)�__name__�
__module__�__qualname__�__doc__� __slots__r r r �intr �boolr r r r r r r r
r
r
r r s &r )r# r �typingr r r r r
r
r
r �<module> s