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.

atomicFile

Path.atomicFile
pub fn atomicFile(
    p: Path,
    io: Io,
    sub_path: []const u8,
    options: Io.Dir.CreateFileAtomicOptions,
    buf: *[Io.Dir.max_path_bytes]u8,
) !Io.File.Atomic

File

Code

pub fn atomicFile(
    p: Path,
    io: Io,
    sub_path: []const u8,
    options: Io.Dir.CreateFileAtomicOptions,
    buf: *[Io.Dir.max_path_bytes]u8,
) !Io.File.Atomic {
    const joined_path = if (p.sub_path.len == 0) sub_path else p: {
        break :p std.fmt.bufPrint(buf, "{s}" ++ Io.Dir.path.sep_str ++ "{s}", .{
            p.sub_path, sub_path,
        }) catch return error.NameTooLong;
    };
    return p.root_dir.handle.createFileAtomic(io, joined_path, options);
}