DoxigAlpha

Function parameters

Parameters

#
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

#
pub fn cloneContext(self: Self, gpa: Allocator, ctx: Context) Oom!Self {
    var other: Self = .{};
    other.entries = try self.entries.clone(gpa);
    errdefer other.entries.deinit(gpa);

    if (self.index_header) |header| {
        // TODO: I'm pretty sure this could be memcpy'd instead of
        // doing all this work.
        const new_header = try IndexHeader.alloc(gpa, header.bit_index);
        other.insertAllEntriesIntoNewHeader(if (store_hash) {} else ctx, new_header);
        other.index_header = new_header;
    }
    return other;
}