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.

serializeArbitraryDepth

Like serialize, but recursive types are allowed.

It is the caller's responsibility to ensure that val does not contain cycles.

stringify.serializeArbitraryDepth
pub fn serializeArbitraryDepth(
    val: anytype,
    options: SerializeOptions,
    writer: *Writer,
) Serializer.Error!void

File

lib/std/zon/stringify.zig:81

Code

pub fn serializeArbitraryDepth(
    val: anytype,
    options: SerializeOptions,
    writer: *Writer,
) Serializer.Error!void {
    var s: Serializer = .{
        .writer = writer,
        .options = .{ .whitespace = options.whitespace },
    };
    try s.valueArbitraryDepth(val, .{
        .emit_codepoint_literals = options.emit_codepoint_literals,
        .emit_strings_as_containers = options.emit_strings_as_containers,
        .emit_default_optional_fields = options.emit_default_optional_fields,
    });
}