vector_indexing_suite should implement MutableSequence

未关闭
#367 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
48/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
cpp, python

调研方向

从 vector_indexing_suite 的实现开始,将其现有方法与链接的 Python 文档中的 MutableSequence 方法表进行比较。添加 insert、reverse、pop、remove 和 iadd,使公开的 vector 满足 MutableSequence;仅当 map_indexing_suite 中的类似缺口相关时,才对其进行调查。

由索引模型根据 Issue 内容生成。

描述

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:

  • 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.

主要语言
C++
星标
537
派生
223
平均合并
11 小时 22 分钟
30 天内合并 PR
2

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

boostorg/python 的其他 Issue

查看 boostorg/python 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。