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.

readBytes

BitcodeReader.readBytes
fn readBytes(bc: *BitcodeReader, bytes: []u8) !void

File

lib/std/zig/llvm/BitcodeReader.zig:386

Code

fn readBytes(bc: *BitcodeReader, bytes: []u8) !void {
    assert(bc.bit_offset == 0);
    try bc.reader.readSliceAll(bytes);

    const trailing_bytes = bytes.len % 4;
    if (trailing_bytes > 0) {
        var bit_buffer: [4]u8 = @splat(0);
        try bc.reader.readSliceAll(bit_buffer[trailing_bytes..]);
        bc.bit_buffer = std.mem.readInt(u32, &bit_buffer, .little);
        bc.bit_offset = @intCast(8 * trailing_bytes);
    }
}