Free method
Frees the native memory owned by slot key and removes it from the
table.
Throws if key has not been allocated.
Implementation
@override
void Free(String key) {
if (!stringSlotsKeyed.containsKey(key)) {
throw StateError('[FREE] Cannot free unallocated String slot $key');
}
int slot = stringSlotsKeyed[key]!;
freeFunc(pointerToSource(stringSlots[slot]));
stringSlotsKeyed.remove(key);
stringSlots[slot] = nullptrFactory();
stringCapacities[slot] = 0;
}