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 › zig › BuildId › parse Public Function parse Doc Source Public Function std.zig.BuildId.parse
pub fn parse (text : []const u8 ) !BuildId Params File zig.zig: 321
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339 pub fn parse (text : []const u8 ) !BuildId {
if (mem .eql (u8 , text , "none" )) {
return .none ;
} else if (mem .eql (u8 , text , "fast" )) {
return .fast ;
} else if (mem .eql (u8 , text , "uuid" )) {
return .uuid ;
} else if (mem .eql (u8 , text , "sha1" ) or mem .eql (u8 , text , "tree" )) {
return .sha1 ;
} else if (mem .eql (u8 , text , "md5" )) {
return .md5 ;
} else if (mem .startsWith (u8 , text , "0x" )) {
var result : BuildId = .{ .hexstring = undefined };
const slice = try std .fmt .hexToBytes (&result .hexstring .bytes , text [2 ..]);
result .hexstring .len = @as (u8 , @intCast (slice .len ));
return result ;
}
return error .InvalidBuildIdStyle ;
}
Converts UTF-8 text to a
BuildId.