| 116 | } |
| 117 | |
| 118 | void erase(void *key) { |
| 119 | if (!entries || !live) return; |
| 120 | size_t i = find(key); |
| 121 | if (entries[i].key == key) { |
| 122 | entries[i].key = kTombstone; |
| 123 | --live; |
| 124 | } |
| 125 | } |
| 126 | }; |
| 127 | |
| 128 | // Placement-new into static storage: never destructed, so track_free during |