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 standard library. Public Function
takeStructPointer
Public Function
std.Io.Reader.takeStructPointer
pubfntakeStructPointer(r: *Reader, comptimeT: type) Error!*align(1) T
Obtains an unaligned pointer to the beginning of the stream, reinterpreted as a pointer to the provided type, advancing the seek position.
Asserts the buffer was initialized with a capacity at least @sizeOf(T).
See the Reader implementation for detailed diagnostics.
EndOfStream
File
Io/Reader.zig:1198
11981199120012011202
pubfntakeStructPointer(r: *Reader, comptimeT: type) Error!*align(1) T {
// Only extern and packed structs have defined in-memory layout.comptimeassert(@typeInfo(T).@"struct".layout != .auto);
return@ptrCast(tryr.takeArray(@sizeOf(T)));
}
Obtains an unaligned pointer to the beginning of the stream, reinterpreted as a pointer to the provided type, advancing the seek position.
Asserts the buffer was initialized with a capacity at least
@sizeOf(T).See also:
peekStructPointertakeStruct