zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 53ebfde6b433ebdb28d4989a345e8d34abf049b7 (tree)
parent 0c5f879b981352a84edb6daa09a1d6cdb53378d7
Author: Meghan Denny <hello@nektro.net>
Date:   Thu,  1 Jan 2026 20:34:55 -0800

std: use decl literals to improve endian ergonomics

Diffstat:
Mlib/std/builtin.zig | 3+++
Mlib/std/mem.zig | 4++++
2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig @@ -841,6 +841,9 @@ pub const FloatMode = enum { pub const Endian = enum { big, little, + + pub const native = builtin.target.cpu.arch.endian(); + pub const foreign: Endian = @enumFromInt(1 - @intFromEnum(native)); }; /// This data structure is used by the Zig language code generation and diff --git a/lib/std/mem.zig b/lib/std/mem.zig @@ -2006,11 +2006,13 @@ fn readPackedIntBig(comptime T: type, bytes: []const u8, bit_offset: usize) T { } else return @as(T, @bitCast(val)); } +/// Deprecated: use readPackedInt(T, bytes, bit_offset, value, .native) pub const readPackedIntNative = switch (native_endian) { .little => readPackedIntLittle, .big => readPackedIntBig, }; +/// Deprecated: use readPackedInt(T, bytes, bit_offset, value, .foreign) pub const readPackedIntForeign = switch (native_endian) { .little => readPackedIntBig, .big => readPackedIntLittle, @@ -2159,11 +2161,13 @@ fn writePackedIntBig(comptime T: type, bytes: []u8, bit_offset: usize, value: T) writeInt(StoreInt, write_bytes[(byte_count - store_size)..][0..store_size], write_value, .big); } +/// Deprecated: use writePackedInt(T, bytes, bit_offset, value, .native) pub const writePackedIntNative = switch (native_endian) { .little => writePackedIntLittle, .big => writePackedIntBig, }; +/// Deprecated: use writePackedInt(T, bytes, bit_offset, value, .foreign) pub const writePackedIntForeign = switch (native_endian) { .little => writePackedIntBig, .big => writePackedIntLittle,