enum Alignment [src]

Fields

default = std.math.maxInt(u6)
_

Members

Source

pub const Alignment = enum(u6) { default = std.math.maxInt(u6), _, pub fn fromByteUnits(bytes: u64) Alignment { if (bytes == 0) return .default; assert(std.math.isPowerOfTwo(bytes)); assert(bytes <= 1 << 32); return @enumFromInt(@ctz(bytes)); } pub fn toByteUnits(self: Alignment) ?u64 { return if (self == .default) null else @as(u64, 1) << @intFromEnum(self); } pub fn toLlvm(self: Alignment) u6 { return if (self == .default) 0 else (@intFromEnum(self) + 1); } pub fn format( self: Alignment, comptime prefix: []const u8, _: std.fmt.FormatOptions, writer: anytype, ) @TypeOf(writer).Error!void { try writer.print("{s}align {d}", .{ prefix, self.toByteUnits() orelse return }); } }