boostorg / boostorg/python

vector_indexing_suite should implement MutableSequence

オープン
#367 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
537
フォーク
223
平均マージ
11時間 22分
マージ済み PR(30日)
2

説明

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](https://docs.python.org/3/library/collections.abc.html)):

Specifically:

* `insert`
* `reverse`
* `pop`
* `remove`
* `__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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。