Free method

  1. @override
void Free(
  1. String key
)
override

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;
}