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.
Zig › std/ › elf.zig › SectionHeaderBufferIterator
SectionHeaderBufferIterator
elf.SectionHeaderBufferIterator
pub const SectionHeaderBufferIterator = struct
File
Code
pub const SectionHeaderBufferIterator = struct {
is_64 : bool ,
endian : Endian ,
shnum : u16 ,
shoff : u64 ,
buf : []const u8 ,
index : usize = 0 ,
pub fn next (it : *SectionHeaderBufferIterator ) !?Elf64_Shdr {
if (it .index >= it .shnum ) return null ;
defer it .index += 1 ;
const size : u64 = if (it .is_64 ) @sizeOf (Elf64_Shdr ) else @sizeOf (Elf32_Shdr );
const offset = it .shoff + size * it .index ;
if (offset > it .buf .len ) return error .EndOfStream ;
var reader = Io .Reader .fixed (it .buf [@intCast (offset )..]);
return try takeSectionHeader (&reader , it .is_64 , it .endian );
}
}