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. Private Function
fndetectNativeCpuAndFeatures(io: Io, cpu_arch: Target.Cpu.Arch, os: Target.Os, query: Target.Query) ?Target.Cpu {
// Here we switch on a comptime value rather than `cpu_arch`. This is valid because `cpu_arch`,// although it is a runtime value, is guaranteed to be one of the architectures in the set// of the respective switch prong.switch (builtin.cpu.arch) {
.loongarch32, .loongarch64 => return@import("system/loongarch.zig").detectNativeCpuAndFeatures(cpu_arch, os, query),
.x86_64, .x86 => return@import("system/x86.zig").detectNativeCpuAndFeatures(cpu_arch, os, query),
else => {},
}
switch (builtin.os.tag) {
.linux => returnlinux.detectNativeCpuAndFeatures(io),
.macos => returndarwin.macos.detectNativeCpuAndFeatures(),
.windows => returnwindows.detectNativeCpuAndFeatures(),
else => {},
}
// This architecture does not have CPU model & feature detection yet.// See https://github.com/ziglang/zig/issues/4591returnnull;
}