Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

vector_indexing_suite should implement MutableSequence

Ouverte
#367 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
cpp, python

Piste de recherche

Commencez par l’implémentation de vector_indexing_suite et comparez ses méthodes existantes avec la table des méthodes de MutableSequence dans la documentation Python liée. Ajoutez insert, reverse, pop, remove et iadd afin que le vecteur exposé satisfasse MutableSequence ; n’examinez map_indexing_suite que si sa lacune analogue est pertinente.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

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:

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

Langage dominant
C++
Étoiles
537
Forks
223
Merge moyen
11 h 22 min
PR mergées (30 j)
2

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de boostorg/python

Toutes les issues de boostorg/python

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.