-
Notifications
You must be signed in to change notification settings - Fork 221
vector_indexing_suite should implement MutableSequence #367
Copy link
Copy link
Open
Description
Currently vector_indexing_suite implements a few methods that you would expect from list but not all. It means I have to put this type in my_cpp_modules.pyi:
class vector(Iterable[T], Container[T], Sized):
# From indexing_suite
def __len__(self) -> int: ...
def __setitem__(self, index: int, value: T) -> None: ...
def __delitem__(self, index: int) -> None: ...
def __getitem__(self, index: int) -> T: ...
def __contains__(self, value: T) -> bool: ...
def __iter__(self) -> int: ...
# From vector_indexing_suite
def append(self, v: T) -> None: ...
def extend(self, v: Any) -> None: ...
Instead of deriving from Iterable[T], Container[T], Sized it would be much better if it were just a MutableSequence[T]. However that needs a few more methods (see the table at the top of this page):
Specifically:
insertreversepopremove__iadd__
Those methods should be added. It looks like it should be pretty easy.
A similar issue may exist for map_indexing_suite/MutableMapping but I haven't used it yet.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels