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 › mem › Allocator › allocAdvancedWithRetAddr Public Function allocAdvancedWithRetAddr Doc Source Public Function std.mem.Allocator.allocAdvancedWithRetAddr
pub inline fn allocAdvancedWithRetAddr (
self : Allocator ,
comptime T : type ,
/// null means naturally aligned
comptime alignment : ?Alignment ,
n : usize ,
return_address : usize ,
) Error ![]align (if (alignment ) |a | a .toByteUnits () else @alignOf (T )) T Params Errors File mem/Allocator.zig: 270
270
271
272
273
274
275
276
277
278
279
280
281 pub inline fn allocAdvancedWithRetAddr (
self : Allocator ,
comptime T : type ,
/// null means naturally aligned
comptime alignment : ?Alignment ,
n : usize ,
return_address : usize ,
) Error ![]align (if (alignment ) |a | a .toByteUnits () else @alignOf (T )) T {
const a : Alignment = alignment orelse comptime .of (T );
const ptr : [*]align (a .toByteUnits ()) T = @ptrCast (try self .allocWithSizeAndAlignment (@sizeOf (T ), a , n , return_address ));
return ptr [0 ..n ];
}