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 › std/ › Progress.zig › copyAtomicStore
copyAtomicStore
Progress.copyAtomicStore
fn copyAtomicStore (dest : []align (@alignOf (usize )) u8 , src : []const u8 ) void
File
Code
fn copyAtomicStore (dest : []align (@alignOf (usize )) u8 , src : []const u8 ) void {
assert (dest .len == src .len );
const chunked_len = dest .len / @sizeOf (usize );
const dest_chunked : []usize = @as ([*]usize , @ptrCast (dest ))[0 ..chunked_len ];
const src_chunked : []align (1 ) const usize = @as ([*]align (1 ) const usize , @ptrCast (src ))[0 ..chunked_len ];
for (dest_chunked , src_chunked ) |*d , s | {
@atomicStore (usize , d , s , .monotonic );
}
const remainder_start = chunked_len * @sizeOf (usize );
for (dest [remainder_start ..], src [remainder_start ..]) |*d , s | {
@atomicStore (u8 , d , s , .monotonic );
}
}