File: //usr/local/lib/python3.10/dist-packages/virtualenv/cache/__pycache__/cache.cpython-310.pyc
o
3�h� � @ s� d dl mZ d dlmZmZ d dlmZmZmZm Z zd dlm
Z
W n ey1 d dlm
Z
Y nw e ded�Z
G dd� deee
�ZdgZd S )
� )�annotations)�ABC�abstractmethod)�Any�Generic�Hashable�TypeVar)�Self�K)�boundc @ sR e Zd ZdZeddd��Zeddd��Zedd
d��Zeddd��Zddd�Z dS )�Cachez�
A generic cache interface.
Add a close() method if the cache needs to perform any cleanup actions,
and an __exit__ method to allow it to be used in a context manager.
�keyr
�return�
Any | Nonec C � t �)z�
Get a value from the cache.
:param key: the key to retrieve
:return: the cached value, or None if not found
��NotImplementedError��selfr
� r �A/usr/local/lib/python3.10/dist-packages/virtualenv/cache/cache.py�get � z Cache.get�valuer �Nonec C r )zx
Set a value in the cache.
:param key: the key to set
:param value: the value to cache
r )r r
r r r r �set r z Cache.setc C r )zW
Remove a value from the cache.
:param key: the key to remove
r r r r r �remove* s zCache.removec C r )zClear the entire cache.r �r r r r �clear3 s zCache.clearr c C s | S )Nr r r r r � __enter__8 s zCache.__enter__N)r
r
r r )r
r
r r r r )r
r
r r )r r )r r )
�__name__�
__module__�__qualname__�__doc__r r r r r r r r r r r s r N)�
__future__r �abcr r �typingr r r r r �ImportError�typing_extensionsr
r �__all__r r r r �<module> s �/�