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 › debug › MachOFile › OFile › SymbolAdapter Private Struct SymbolAdapter Doc Source Private Struct std.debug.MachOFile.OFile.SymbolAdapter
const SymbolAdapter = struct Fields strtab : []const u8 symtab_raw : []align (1 ) const macho .nlist_64 Functions File debug/MachOFile.zig: 289
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303 const SymbolAdapter = struct {
strtab : []const u8 ,
symtab_raw : []align (1 ) const macho .nlist_64 ,
pub fn hash (ctx : SymbolAdapter , sym_name : []const u8 ) u32 {
_ = ctx ;
return @truncate (std .hash .Wyhash .hash (0 , sym_name ));
}
pub fn eql (ctx : SymbolAdapter , a_sym_name : []const u8 , b_sym_index : u32 , b_index : usize ) bool {
_ = b_index ;
var b_sym = ctx .symtab_raw [b_sym_index ];
if (builtin .cpu .arch .endian () != .little ) std .mem .byteSwapAllFields (macho .nlist_64 , &b_sym );
const b_sym_name = std .mem .sliceTo (ctx .strtab [b_sym .n_strx ..], 0 );
return mem .eql (u8 , a_sym_name , b_sym_name );
}
}