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, 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 } }; } }