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 › sort › argMin Public Function argMin Doc Source Public Function std.sort.argMin
pub fn argMin (
comptime T : type ,
items : []const T ,
context : anytype ,
comptime lessThan : fn (@TypeOf (context ), lhs : T , rhs : T ) bool ,
) ?usize Params T : type items : []const T context lessThan : fn (@TypeOf (context ), lhs : T , rhs : T ) bool File sort.zig: 846
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866 pub fn argMin (
comptime T : type ,
items : []const T ,
context : anytype ,
comptime lessThan : fn (@TypeOf (context ), lhs : T , rhs : T ) bool ,
) ?usize {
if (items .len == 0 ) {
return null ;
}
var smallest = items [0 ];
var smallest_index : usize = 0 ;
for (items [1 ..], 0 ..) |item , i | {
if (lessThan (context , item , smallest )) {
smallest = item ;
smallest_index = i + 1 ;
}
}
return smallest_index ;
}