Слотовая карта (Slot map)
Контейнер, который хранит элементы плотно, но выдаёт стабильные дескрипторы из индекса и счётчика поколения, так что устаревший дескриптор распознаётся и отвергается.
Указатели на объекты в растущем массиве становятся недействительными, стоит массиву переехать или слоту переиспользоваться. Slot map решает это, возвращая вместо указателя дескриптор — индекс и номер поколения. Когда слот освобождают и занимают снова, его поколение увеличивается, поэтому старый дескриптор с тем же индексом несёт неверное поколение и тихо отклоняется.
Внутри элементы лежат плотно, что удобно для кэша при обходе, а таблица косвенности переводит дескрипторы в слоты. Вставка, удаление и поиск — всё O(1). Шаблон — основа игрового кода на C++: на нём строятся ECS-библиотеки вроде EnTT, а по сути это индекс с поколением в виде готового контейнера.