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 standard library.
std › elf › Header › init Public Function init Doc Source Public Function std.elf.Header.init
pub fn init (hdr : anytype , endian : Endian ) Header Params File elf.zig: 775
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798 pub fn init (hdr : anytype , endian : Endian ) Header {
// Converting integers to exhaustive enums using `@enumFromInt` could cause a panic.
comptime assert (@typeInfo (OSABI ).@"enum" .mode == .nonexhaustive );
return .{
.is_64 = switch (@TypeOf (hdr )) {
Elf32_Ehdr => false ,
Elf64_Ehdr => true ,
else => @compileError ("bad type" ),
},
.endian = endian ,
.os_abi = @fromBackingInt (@intCast (hdr .e_ident [EI .OSABI ])),
.abi_version = hdr .e_ident [EI .ABIVERSION ],
.type = hdr .e_type ,
.machine = hdr .e_machine ,
.entry = hdr .e_entry ,
.phoff = hdr .e_phoff ,
.shoff = hdr .e_shoff ,
.phentsize = hdr .e_phentsize ,
.phnum = hdr .e_phnum ,
.shentsize = hdr .e_shentsize ,
.shnum = hdr .e_shnum ,
.shstrndx = hdr .e_shstrndx ,
};
}