File: //usr/local/CyberCP/lib/python3.10/site-packages/cachetools/__pycache__/keys.cpython-310.pyc
o
�h� � @ sB d Z dZG dd� de�ZefZdd� Zdd� Zdd � Zd
d� ZdS )
z'Key functions for memoizing decorators.)�hashkey� methodkey�typedkey�typedmethodkeyc @ sF e Zd ZdZdZejfdd�Zejfdd�Zejfdd�Zd d
� Z dS )�_HashedTuplez�A tuple that ensures that hash() will be called no more than once
per element, since cache decorators will hash the key multiple
times on a cache miss. See also _HashedSeq in the standard
library functools implementation.
Nc C s | j }|d u r|| � | _ }|S �N)�_HashedTuple__hashvalue)�self�hash� hashvalue� r �B/usr/local/CyberCP/lib/python3.10/site-packages/cachetools/keys.py�__hash__ s z_HashedTuple.__hash__c C s t || |��S r �r �r �other�addr r r �__add__ � z_HashedTuple.__add__c C s t ||| ��S r r r r r r �__radd__ r z_HashedTuple.__radd__c C s i S r r )r r r r �__getstate__ s z_HashedTuple.__getstate__)
�__name__�
__module__�__qualname__�__doc__r �tupler
r r r r r r r r s r c O s&