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 › heap › SafeAllocator › FuzzMultiThreadedAllocator › remap Private Function remap Doc Source Private Function std.heap.SafeAllocator.FuzzMultiThreadedAllocator.remap
fn remap (ctx : *anyopaque , memory : []u8 , alignment : Alignment , new_len : usize , _ : usize ) ?[*]u8 Params ctx : *anyopaque memory : []u8 alignment : Alignment new_len : usize _ : usize File heap/SafeAllocator.zig: 1966
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985 fn remap (ctx : *anyopaque , memory : []u8 , alignment : Alignment , new_len : usize , _ : usize ) ?[*]u8 {
@disableInstrumentation ();
if (maybeFixedRemap (@ptrCast (@alignCast (ctx )))) {
const resized = FuzzMultiThreadedAllocator .resize (
ctx ,
memory ,
alignment ,
new_len ,
undefined ,
);
return if (resized ) memory .ptr else null ;
}
const f : *FuzzMultiThreadedAllocator = @ptrCast (@alignCast (ctx ));
const new_ptr = f .allocInner (new_len , alignment ) orelse return null ;
const copy_len = @min (memory .len , new_len );
@memcpy (new_ptr [0 ..copy_len ], memory [0 ..copy_len ]);
return new_ptr ;
}