DoxigAlpha

shrinkAndFree

Shrinks the underlying Entry array to new_len elements and discards any associated index entries. Reduces allocated capacity.

Asserts the discarded entries remain initialized and capable of performing hash and equality checks. It is a bug to call this function if the discarded entries require deinitialization. For that use case, shrinkRetainingCapacity can be used instead.

Function parameters

Parameters

#
self:*Self
new_len:usize

Type definitions in this namespace

Types

#

An `ArrayHashMap` with default hash and equal functions.

Functions

#
AutoArrayHashMap
An `ArrayHashMap` with default hash and equal functions.
AutoArrayHashMapUnmanaged
An `ArrayHashMapUnmanaged` with default hash and equal functions.
StringArrayHashMap
An `ArrayHashMap` with strings as keys.
StringArrayHashMapUnmanaged
An `ArrayHashMapUnmanaged` with strings as keys.
ArrayHashMap
Deprecated in favor of `ArrayHashMapWithAllocator` (no code changes needed)
ArrayHashMapWithAllocator
A hash table of keys and values, each stored sequentially.
ArrayHashMapUnmanaged
A hash table of keys and values, each stored sequentially.

Source

Implementation

#
pub fn shrinkAndFree(self: *Self, gpa: Allocator, new_len: usize) void {
    if (@sizeOf(ByIndexContext) != 0)
        @compileError("Cannot infer context " ++ @typeName(Context) ++ ", call shrinkAndFreeContext instead.");
    return self.shrinkAndFreeContext(gpa, new_len, undefined);
}