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/ › zon/ › parse.zig › requiresAllocator
requiresAllocator
parse.requiresAllocator
fn requiresAllocator (T : type ) bool
File
Code
fn requiresAllocator (T : type ) bool {
_ = valid_types ;
return switch (@typeInfo (T )) {
.pointer => true ,
.array => |array | return array .len > 0 and requiresAllocator (array .child ),
.@"struct" => |@"struct" | inline for (@"struct" .field_types ) |field_type | {
if (requiresAllocator (field_type )) {
break true ;
}
} else false ,
.@"union" => |@"union" | inline for (@"union" .field_types ) |field_type | {
if (requiresAllocator (field_type )) {
break true ;
}
} else false ,
.optional => |optional | requiresAllocator (optional .child ),
.vector => |vector | return vector .len > 0 and requiresAllocator (vector .child ),
else => false ,
};
}