pub fn fetchRemoveAdapted(self: *Self, key: anytype, ctx: anytype) ?KV self: *Selfkeyctx946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963 pub fn fetchRemoveAdapted(self: *Self, key: anytype, ctx: anytype) ?KV {
if (self.getIndex(key, ctx)) |idx| {
const old_key = &self.keys()[idx];
const old_val = &self.values()[idx];
const result = KV{
.key = old_key.*,
.value = old_val.*,
};
self.metadata.?[idx].remove();
old_key.* = undefined;
old_val.* = undefined;
self.size -= 1;
self.available += 1;
return result;
}
return null;
}