Skip to documentation
SLOP

tiny.arrange.Scratch

Reference tiny.arrange Scratch

Defined in tiny.arrange.

API (15)

Actions

Public operations.

Fields and members

Public fields and members.

No direct callersNo direct callstiny.arrangeScratch
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/arrange/src/compute.zig:162

zig
pub const Scratch = struct {    results: []LayoutResult,    results_used: usize = 0,    metrics: []flow.ChildMetrics,    metrics_used: usize = 0,    lines: []flow.Line,    lines_used: usize = 0,    states: []NodeState,    states_used: usize = 0,    child_indices: []ChildIndex,    child_indices_used: usize = 0,    indexed_cache: []IndexedCacheSlot = &.{},    cache_epoch: u32 = 0,    work: Work = .{},    size_cache_enabled: bool = true,    pub fn reset(self: *Scratch) void {        self.results_used = 0;        self.metrics_used = 0;        self.lines_used = 0;        self.resetSolve();    }    fn resetSolve(self: *Scratch) void {        self.states_used = 0;        self.child_indices_used = 0;        self.work = .{};        std.debug.assert(self.indexed_cache.len <= std.math.maxInt(u32));        const clear_start = std.math.maxInt(u32) - @as(u32, @intCast(self.indexed_cache.len));        if (self.cache_epoch >= clear_start and self.cache_epoch < std.math.maxInt(u32)) {            const clear_index: usize = @intCast(self.cache_epoch - clear_start);            self.indexed_cache[clear_index].epoch = 0;        }        self.cache_epoch +%= 1;        if (self.cache_epoch == 0) self.cache_epoch = 1;    }    fn mark(self: *const Scratch) ScratchMark {        return .{            .metrics = self.metrics_used,            .lines = self.lines_used,        };    }    fn release(self: *Scratch, point: ScratchMark) void {        self.metrics_used = point.metrics;        self.lines_used = point.lines;    }    fn carveResults(self: *Scratch, count: usize) []LayoutResult {        std.debug.assert(self.results_used + count <= self.results.len);        const span = self.results[self.results_used..][0..count];        self.results_used += count;        return span;    }    fn carveMetrics(self: *Scratch, count: usize) []flow.ChildMetrics {        std.debug.assert(self.metrics_used + count <= self.metrics.len);        const span = self.metrics[self.metrics_used..][0..count];        self.metrics_used += count;        return span;    }    fn carveLines(self: *Scratch, count: usize) []flow.Line {        std.debug.assert(self.lines_used + count <= self.lines.len);        const span = self.lines[self.lines_used..][0..count];        self.lines_used += count;        return span;    }};

Source: lib/arrange/src/root.zig:34

zig
pub const Scratch = compute.Scratch;
Called byCallsNo direct callersprivate sourcelib.arrange.src.compute.ScratchresetSolveScratchreset
Static calls · unresolved targets: 0 · external targets: 0.

Audit

Definitions2
Public names2
Members14
Version26.7.0
Revisiondaab053ee433