DoxigAlpha

Function parameters

Parameters

#
self:*Self
ctx:Context

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

#
fn rebuildIndex(self: *Self, gpa: Allocator, ctx: Context) Oom!void {
    if (self.entries.capacity <= linear_scan_max) return;

    // We're going to rebuild the index header and replace the existing one (if any). The
    // indexes should sized such that they will be at most 60% full.
    const bit_index = try IndexHeader.findBitIndex(self.entries.capacity);
    const new_header = try IndexHeader.alloc(gpa, bit_index);
    if (self.index_header) |header| header.free(gpa);
    self.insertAllEntriesIntoNewHeader(if (store_hash) {} else ctx, new_header);
    self.index_header = new_header;
}