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 library itself.
Zig › c/ › stdlib.zig › qsort
qsort
stdlib.qsort
fn qsort (base : *anyopaque , n : usize , size : usize , compare : *const fn (a : *const anyopaque , b : *const anyopaque ) callconv (.c ) c_int ) callconv (.c ) void
File
Code
fn qsort (base : *anyopaque , n : usize , size : usize , compare : *const fn (a : *const anyopaque , b : *const anyopaque ) callconv (.c ) c_int ) callconv (.c ) void {
return qsort_r (base , n , size , (struct {
fn wrap (a : *const anyopaque , b : *const anyopaque , arg : ?*anyopaque ) callconv (.c ) c_int {
const cmp : *const fn (a : *const anyopaque , b : *const anyopaque ) callconv (.c ) c_int = @ptrCast (@alignCast (arg .?));
return cmp (a , b );
}
}).wrap , @constCast (compare ));
}