fn getOrPut(self: *Self, allocator: Allocator, key: K) !GetOrPutResult

If key exists this function cannot fail. If there is an existing item with key, then the result Entry pointer points to it, and found_existing is true. Otherwise, puts a new item with undefined value, and the Entry pointer points to it. Caller should then initialize the value (but not the key).

Parameters

self: *Self,
allocator: Allocator,
key: K,