Source code for pdkmaster.technology.net
# SPDX-License-Identifier: GPL-2.0-or-later OR AGPL-3.0-or-later OR CERN-OHL-S-2.0+
import abc
from typing import Type, Tuple, Union
from .. import _util
__all__ = ["Net", "Nets"]
[docs]class Net(abc.ABC):
@abc.abstractmethod
def __init__(self, name: str):
self.name = name
def __eq__(self, other: object) -> bool:
return isinstance(other, Net) and (self.name == other.name)
def __hash__(self) -> int:
return hash(self.name)
def __repr__(self) -> str:
return f"{self.__class__.__name__}({self.name})"
[docs]class Nets(_util.TypedListStrMapping[Net]):
_elem_type_: Union[Type[Net], Tuple[Type[Net], ...]] = Net