| 665 | void Remove(ImGuiID key, const T* p) { Remove(key, GetIndex(p)); } |
| 666 | void Remove(ImGuiID key, ImPoolIdx idx) { Buf[idx].~T(); *(int*)&Buf[idx] = FreeIdx; FreeIdx = idx; Map.SetInt(key, -1); AliveCount--; } |
| 667 | void Reserve(int capacity) { Buf.reserve(capacity); Map.Data.reserve(capacity); } |
| 668 | |
| 669 | // To iterate a ImPool: for (int n = 0; n < pool.GetMapSize(); n++) if (T* t = pool.TryGetMapData(n)) { ... } |
| 670 | // Can be avoided if you know .Remove() has never been called on the pool, or AliveCount == GetMapSize() |
no test coverage detected