2 from typing import (Optional, Sequence, Union, Generic, overload,
\r
3 Iterable, Iterator, Sized, ContextManager, AnyStr)
\r
5 ACCESS_READ = ... # type: int
\r
6 ACCESS_WRITE = ... # type: int
\r
7 ACCESS_COPY = ... # type: int
\r
9 ALLOCATIONGRANULARITY = ... # type: int
\r
11 if sys.platform != 'win32':
\r
12 MAP_PRIVATE = ... # type: int
\r
13 MAP_SHARED = ... # type: int
\r
14 PROT_READ = ... # type: int
\r
15 PROT_WRITE = ... # type: int
\r
17 PAGESIZE = ... # type: int
\r
19 class _mmap(Generic[AnyStr]):
\r
20 if sys.platform == 'win32':
\r
21 def __init__(self, fileno: int, length: int,
\r
22 tagname: Optional[str] = ..., access: int = ...,
\r
23 offset: int = ...) -> None: ...
\r
26 fileno: int, length: int, flags: int = ...,
\r
27 prot: int = ..., access: int = ...,
\r
28 offset: int = ...) -> None: ...
\r
29 def close(self) -> None: ...
\r
30 def find(self, sub: AnyStr,
\r
31 start: int = ..., end: int = ...) -> int: ...
\r
32 def flush(self, offset: int = ..., size: int = ...) -> int: ...
\r
33 def move(self, dest: int, src: int, count: int) -> None: ...
\r
34 def read(self, n: int = ...) -> AnyStr: ...
\r
35 def read_byte(self) -> AnyStr: ...
\r
36 def readline(self) -> AnyStr: ...
\r
37 def resize(self, newsize: int) -> None: ...
\r
38 def seek(self, pos: int, whence: int = ...) -> None: ...
\r
39 def size(self) -> int: ...
\r
40 def tell(self) -> int: ...
\r
41 def write(self, bytes: AnyStr) -> None: ...
\r
42 def write_byte(self, byte: AnyStr) -> None: ...
\r
43 def __len__(self) -> int: ...
\r
45 if sys.version_info >= (3,):
\r
46 class mmap(_mmap, ContextManager[mmap], Iterable[bytes], Sized):
\r
47 closed = ... # type: bool
\r
48 def rfind(self, sub: bytes, start: int = ..., stop: int = ...) -> int: ...
\r
50 def __getitem__(self, index: int) -> int: ...
\r
52 def __getitem__(self, index: slice) -> bytes: ...
\r
53 def __delitem__(self, index: Union[int, slice]) -> None: ...
\r
55 def __setitem__(self, index: int, object: int) -> None: ...
\r
57 def __setitem__(self, index: slice, object: bytes) -> None: ...
\r
58 # Doesn't actually exist, but the object is actually iterable because it has __getitem__ and
\r
59 # __len__, so we claim that there is also an __iter__ to help type checkers.
\r
60 def __iter__(self) -> Iterator[bytes]: ...
\r
62 class mmap(_mmap, Sequence[bytes]):
\r
63 def rfind(self, string: bytes, start: int = ..., stop: int = ...) -> int: ...
\r
64 def __getitem__(self, index: Union[int, slice]) -> bytes: ...
\r
65 def __getslice__(self, i: Optional[int], j: Optional[int]) -> bytes: ...
\r
66 def __delitem__(self, index: Union[int, slice]) -> None: ...
\r
67 def __setitem__(self, index: Union[int, slice], object: bytes) -> None: ...
\r