4 TypeVar, Generic, Any, Callable, overload, Mapping, Iterator, Tuple,
\r
5 Iterable, Optional, Type, MutableMapping, Union, List, Dict
\r
8 from _weakref import (
\r
9 getweakrefcount as getweakrefcount,
\r
10 getweakrefs as getweakrefs,
\r
13 CallableProxyType as CallableProxyType,
\r
14 ProxyType as ProxyType,
\r
15 ReferenceType as ReferenceType)
\r
16 from _weakrefset import WeakSet as WeakSet
\r
18 if sys.version_info < (3, 0):
\r
19 from exceptions import ReferenceError as ReferenceError
\r
23 _KT = TypeVar('_KT')
\r
24 _VT = TypeVar('_VT')
\r
26 ProxyTypes: Tuple[Type[Any], ...]
\r
28 if sys.version_info >= (3, 4):
\r
29 class WeakMethod(ref[types.MethodType]):
\r
30 def __new__(cls, meth: types.MethodType, callback: Optional[Callable[[types.MethodType], Any]] = ...) -> WeakMethod: ...
\r
31 def __call__(self) -> Optional[types.MethodType]: ...
\r
33 class WeakValueDictionary(MutableMapping[_KT, _VT]):
\r
35 def __init__(self) -> None: ...
\r
37 def __init__(self, __map: Union[Mapping[_KT, _VT], Iterable[Tuple[_KT, _VT]]], **kwargs: _VT) -> None: ...
\r
39 def __len__(self) -> int: ...
\r
40 def __getitem__(self, k: _KT) -> _VT: ...
\r
41 def __setitem__(self, k: _KT, v: _VT) -> None: ...
\r
42 def __delitem__(self, v: _KT) -> None: ...
\r
43 if sys.version_info < (3, 0):
\r
44 def has_key(self, key: object) -> bool: ...
\r
45 def __contains__(self, o: object) -> bool: ...
\r
46 def __iter__(self) -> Iterator[_KT]: ...
\r
47 def __str__(self) -> str: ...
\r
49 def copy(self) -> WeakValueDictionary[_KT, _VT]: ...
\r
51 if sys.version_info < (3, 0):
\r
52 def keys(self) -> List[_KT]: ...
\r
53 def values(self) -> List[_VT]: ...
\r
54 def items(self) -> List[Tuple[_KT, _VT]]: ...
\r
55 def iterkeys(self) -> Iterator[_KT]: ...
\r
56 def itervalues(self) -> Iterator[_VT]: ...
\r
57 def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ...
\r
59 # These are incompatible with Mapping
\r
60 def keys(self) -> Iterator[_KT]: ... # type: ignore
\r
61 def values(self) -> Iterator[_VT]: ... # type: ignore
\r
62 def items(self) -> Iterator[Tuple[_KT, _VT]]: ... # type: ignore
\r
63 def itervaluerefs(self) -> Iterator[KeyedRef[_KT, _VT]]: ...
\r
64 def valuerefs(self) -> List[KeyedRef[_KT, _VT]]: ...
\r
66 class KeyedRef(ref[_T], Generic[_KT, _T]):
\r
68 def __init__(self, ob: _T, callback: Callable[[_T], Any], key: _KT) -> None: ...
\r
70 class WeakKeyDictionary(MutableMapping[_KT, _VT]):
\r
72 def __init__(self) -> None: ...
\r
74 def __init__(self, __map: Union[Mapping[_KT, _VT], Iterable[Tuple[_KT, _VT]]], **kwargs: _VT) -> None: ...
\r
76 def __len__(self) -> int: ...
\r
77 def __getitem__(self, k: _KT) -> _VT: ...
\r
78 def __setitem__(self, k: _KT, v: _VT) -> None: ...
\r
79 def __delitem__(self, v: _KT) -> None: ...
\r
80 if sys.version_info < (3, 0):
\r
81 def has_key(self, key: object) -> bool: ...
\r
82 def __contains__(self, o: object) -> bool: ...
\r
83 def __iter__(self) -> Iterator[_KT]: ...
\r
84 def __str__(self) -> str: ...
\r
86 def copy(self) -> WeakKeyDictionary[_KT, _VT]: ...
\r
88 if sys.version_info < (3, 0):
\r
89 def keys(self) -> List[_KT]: ...
\r
90 def values(self) -> List[_VT]: ...
\r
91 def items(self) -> List[Tuple[_KT, _VT]]: ...
\r
92 def iterkeys(self) -> Iterator[_KT]: ...
\r
93 def itervalues(self) -> Iterator[_VT]: ...
\r
94 def iteritems(self) -> Iterator[Tuple[_KT, _VT]]: ...
\r
95 def iterkeyrefs(self) -> Iterator[ref[_KT]]: ...
\r
97 # These are incompatible with Mapping
\r
98 def keys(self) -> Iterator[_KT]: ... # type: ignore
\r
99 def values(self) -> Iterator[_VT]: ... # type: ignore
\r
100 def items(self) -> Iterator[Tuple[_KT, _VT]]: ... # type: ignore
\r
101 def keyrefs(self) -> List[ref[_KT]]: ...
\r
103 if sys.version_info >= (3, 4):
\r
105 def __init__(self, obj: _S, func: Callable[..., _T], *args: Any, **kwargs: Any) -> None: ...
\r
106 def __call__(self, _: Any = ...) -> Optional[_T]: ...
\r
107 def detach(self) -> Optional[Tuple[_S, _T, Tuple[Any, ...], Dict[str, Any]]]: ...
\r
108 def peek(self) -> Optional[Tuple[_S, _T, Tuple[Any, ...], Dict[str, Any]]]: ...
\r