Files
Zag/src/rtl/cache_padded.zig
T
2026-07-05 00:28:04 -04:00

19 lines
510 B
Zig

const std = @import("std");
/// Type padded to a cache line.
pub fn CachePadded(comptime T: type) type {
return struct {
const cache_line = std.atomic.cache_line;
const value_size = @sizeOf(T);
const padded_size = std.mem.alignForward(usize, value_size, cache_line);
const pad = padded_size - value_size;
value: T align(cache_line),
_pad: [pad]u8 = undefined,
pub fn init(val: T) @This() {
return .{ .value = val };
}
};
}