ジェネレーショナルインデックス
配列のインデックスと世代カウンタをひとまとめにした参照。再利用されたスロットを指す古いハンドルを、無効として検出できる。
オブジェクトが破棄されると、その配列スロットは解放されるが移動はされない。次のオブジェクトがそのスロットを再利用し、世代を1つ進める。ハンドルは、インデックスと発行時の世代の両方を持つ。参照を解決するとき、ハンドルの世代をスロットの現在の世代と比べ、食い違っていれば元のオブジェクトはもう存在しない。危険なダングリングポインタが、安価に検出できる単なる「ミス」に変わるわけだ。
参照カウントもガベージコレクタも使わずに、安定したO(1)の参照が得られる。EnTTやBevyなどのECSフレームワークがエンティティIDに採用し、スロットマップ系のコンテナがこれを土台にしているのはそのためだ。よく組み合わされるのが、生きているスロットの位置を記録するスパースセットである。