1 from typing import (AbstractSet, Iterable, Iterator, Mapping,
2 MutableSet, TypeVar, overload)
3 from typing_extensions import final, Literal
5 _T_co = TypeVar("_T_co", covariant=True)
8 __all__ = ["final", "Literal", "OFSet", "OSet", "FMap"]
11 class OFSet(AbstractSet[_T_co]):
12 """ ordered frozen set """
14 def __init__(self, items: Iterable[_T_co] = ()):
17 def __contains__(self, x: object) -> bool:
20 def __iter__(self) -> Iterator[_T_co]:
23 def __len__(self) -> int:
26 def __hash__(self) -> int:
29 def __repr__(self) -> str:
33 class OSet(MutableSet[_T]):
34 """ ordered mutable set """
36 def __init__(self, items: Iterable[_T] = ()):
39 def __contains__(self, x: object) -> bool:
42 def __iter__(self) -> Iterator[_T]:
45 def __len__(self) -> int:
48 def add(self, value: _T) -> None:
51 def discard(self, value: _T) -> None:
54 def __repr__(self) -> str:
58 class FMap(Mapping[_T, _T_co]):
59 """ordered frozen hashable mapping"""
61 def __init__(self, items: Mapping[_T, _T_co]): ...
63 def __init__(self, items: Iterable[tuple[_T, _T_co]]): ...
65 def __init__(self): ...
67 def __getitem__(self, item: _T) -> _T_co:
70 def __iter__(self) -> Iterator[_T]:
73 def __len__(self) -> int:
76 def __eq__(self, other: object) -> bool:
79 def __hash__(self) -> int:
82 def __repr__(self) -> str: