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/ › zig/ › llvm/ › Builder.zig › Attributes
Attributes
Builder.Attributes
pub const Attributes = enum (u32 )
File
Code
pub const Attributes = enum (u32 ) {
none ,
_ ,
pub fn slice (self : Attributes , builder : *const Builder ) []const Attribute .Index {
const start = builder .attributes_indices .items [@backingInt (self )];
const end = builder .attributes_indices .items [@backingInt (self ) + 1 ];
return @ptrCast (builder .attributes_extra .items [start ..end ]);
}
const FormatData = struct {
attributes : Attributes ,
builder : *const Builder ,
flags : Flags = .{},
const Flags = Attribute .Index .FormatData .Flags ;
};
fn format (data : FormatData , w : *Writer ) Writer .Error !void {
for (data .attributes .slice (data .builder )) |attribute_index | try Attribute .Index .format (.{
.attribute_index = attribute_index ,
.builder = data .builder ,
.flags = data .flags ,
}, w );
}
pub fn fmt (self : Attributes , builder : *const Builder , flags : FormatData .Flags ) std .fmt .Alt (FormatData , format ) {
return .{ .data = .{ .attributes = self , .builder = builder , .flags = flags } };
}
}