Function format [src]

Prototype

pub fn format(self: DISPFlags, w: *Writer) Writer.Error!void

Parameters

self: DISPFlagsw: *Writer

Source

pub fn format(self: DISPFlags, w: *Writer) Writer.Error!void { var need_pipe = false; inline for (@typeInfo(DISPFlags).@"struct".fields) |field| { switch (@typeInfo(field.type)) { .bool => if (@field(self, field.name)) { if (need_pipe) try w.writeAll(" | ") else need_pipe = true; try w.print("DISPFlag{s}", .{field.name}); }, .@"enum" => if (@field(self, field.name) != .Zero) { if (need_pipe) try w.writeAll(" | ") else need_pipe = true; try w.print("DISPFlag{s}", .{@tagName(@field(self, field.name))}); }, .int => assert(@field(self, field.name) == 0), else => @compileError("bad field type: " ++ field.name ++ ": " ++ @typeName(field.type)), } } if (!need_pipe) try w.writeByte('0'); }