public bool Dealloc(GenIdx index) { var entry = Entries[index.Index]; if (entry.Generation != index.Generation || !entry.Alive) { return(false); } Free.Push(index.Index); entry.Alive = false; return(true); }
public T? this[GenIdx idx] { get => Allocator.Alive(idx) ? Backing[idx.Index].Value : default(T?);
public bool Alive(GenIdx index) { var entry = Entries[index.Index]; return(entry.Alive && entry.Generation == index.Generation); }