Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

readInt

mem.readInt
pub inline fn readInt(comptime T: type, buffer: *const [@divExact(@typeInfo(T).int.bits, 8)]u8, endian: Endian) T

File

lib/std/mem.zig:1900

Code

pub inline fn readInt(comptime T: type, buffer: *const [@divExact(@typeInfo(T).int.bits, 8)]u8, endian: Endian) T {
    // Zig's logical bit order aligns with a little-endian byte array, so when reading in big-endian
    // we must `@byteSwap` the int after we `@bitCast` to it.
    const little_val: T = @bitCast(buffer.*);
    return switch (endian) {
        .little => little_val,
        .big => @byteSwap(little_val),
    };
}