Задание № 1408

Студент

Пиджакова Екатерина

Задача

Хеш-таблица с управляемым удалением элементов

Состояние

Завершено

Баллов

4

Дедлайн
09 октября 2018
Назначено

18.09.2018, 12:26

Завершено

13.11.2018, 11:45

Реализовать надстройку над unordered_map, которая бы позволяла автоматически удалять элементы при обращении к ним.

Это может быть полезным для реализации кэша, у которого каждый элемент «жив» только в течение определённого времени после его вставки или допускает только фиксированное количество обращений.

Требования

  • Класс стратегии управляемого удаления должен являться параметром шаблона для создаваемого класса, объект класса стратегии должен передаваться в конструкторе и храниться в классе (композиция). Класс стратегии должен инкапсулировать необходимые данные для принятия решения о том, удалять ключ или нет.
  • Должны работать базовые операции: чтение и запись по ключу, удаление элементов. Весь интерфейс unordered_map поддерживать не нужно.
  • Должны работать итераторы (при посещении элемента он также должен удаляться, а итератор — «перепрыгивать» к следующему).
  • Создать несколько стратегий: не удалять никогда, удалять по прошествии заданного времени, удалять после заданного количества обращений.

Действия