U
    Jc                     @   s\   d Z ddlZddlmZ ddlmZ ddlZdgZeG dd dejdZ	e	
ed dS )z,Provides isolated namespace of skip tensors.    N)total_ordering)Any	Namespacec                   @   s^   e Zd ZdZdZddddZedddZedd	d
Z	e
edddZe
edddZdS )r   zuNamespace for isolating skip tensors used by :meth:`isolate()
    <torchpipe.skip.skippable.Skippable.isolate>`.
    idN)returnc                 C   s   t  | _d S N)uuidZuuid4r   self r   R/tmp/pip-unpacked-wheel-gikjz4vx/torch/distributed/pipeline/sync/skip/namespace.py__init__   s    zNamespace.__init__c                 C   s   d| j  dS )Nz<Namespace 'z'>r   r
   r   r   r   __repr__   s    zNamespace.__repr__c                 C   s
   t | jS r   )hashr   r
   r   r   r   __hash__   s    zNamespace.__hash__)otherr   c                 C   s   t |tr| j|jk S dS NF
isinstancer   r   r   r   r   r   r   __lt__%   s    
zNamespace.__lt__c                 C   s   t |tr| j|jkS dS r   r   r   r   r   r   __eq__*   s    
zNamespace.__eq__)__name__
__module____qualname____doc__	__slots__r   strr   intr   r   boolr   r   r   r   r   r   r      s   )	metaclass)r   abc	functoolsr   typingr   r	   __all__ABCMetar   registertyper   r   r   r   <module>   s   !