enum Attributes [src]
Fields
none
_
Members
Source
pub const Attributes = enum(u32) {
none,
_,
pub fn slice(self: Attributes, builder: *const Builder) []const Attribute.Index {
const start = builder.attributes_indices.items[@intFromEnum(self)];
const end = builder.attributes_indices.items[@intFromEnum(self) + 1];
return @ptrCast(builder.attributes_extra.items[start..end]);
}
const FormatData = struct {
attributes: Attributes,
builder: *const Builder,
};
fn format(
data: FormatData,
comptime fmt_str: []const u8,
fmt_opts: std.fmt.FormatOptions,
writer: anytype,
) @TypeOf(writer).Error!void {
for (data.attributes.slice(data.builder)) |attribute_index| try Attribute.Index.format(.{
.attribute_index = attribute_index,
.builder = data.builder,
}, fmt_str, fmt_opts, writer);
}
pub fn fmt(self: Attributes, builder: *const Builder) std.fmt.Formatter(format) {
return .{ .data = .{ .attributes = self, .builder = builder } };
}
}