DoxigAlpha

reIndex

Recomputes stored hashes and rebuilds the key indexes. If the underlying keys have been modified directly, call this method to recompute the denormalized metadata necessary for the operation of the methods of this map that lookup entries by key.

One use case for this is directly calling entries.resize() to grow the underlying storage, and then setting the keys and values directly without going through the methods of this map.

The time complexity of this operation is O(n).

Function parameters

Parameters

#
self:*Self

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 reIndex(self: *Self, gpa: Allocator) Oom!void {
    if (@sizeOf(ByIndexContext) != 0)
        @compileError("Cannot infer context " ++ @typeName(Context) ++ ", call reIndexContext instead.");
    return self.reIndexContext(gpa, undefined);
}