VecDeque научился удалять элементы по условию прямо во время обхода

01.11.2025

У VecDeque появился метод extract_if: он удаляет элементы, удовлетворяющие условию, и позволяет прервать обход. Для вектора и хеш-коллекций такой метод давно был стабилен, для очереди на обоих концах — нет.

Почему для очереди это было неочевидно

Метод позволяет смотреть на элемент и решать, оставлять его или нет, — с безопасным доступом к коллекции между шагами. Обычная очистка так не умеет: она либо требует сначала собрать подходящие элементы отдельно, либо накладывает ограничения.

Практический случай

Типичное применение — сжатие структуры: во время обхода один элемент превращается в два или ноль. Метод позволяет это сделать на месте, без пересборки всей коллекции.

Оригинал

Implement VecDeque::extract_if

Упоминаний: 1 · Просмотров: 2