union OsVersion [src]

Fields

none: void
semver: SemanticVersion
windows: Target.Os.WindowsVersion

Members

Source

pub const OsVersion = union(enum) { none: void, semver: SemanticVersion, windows: Target.Os.WindowsVersion, pub fn eql(a: OsVersion, b: OsVersion) bool { const Tag = @typeInfo(OsVersion).@"union".tag_type.?; const a_tag: Tag = a; const b_tag: Tag = b; if (a_tag != b_tag) return false; return switch (a) { .none => true, .semver => |a_semver| a_semver.order(b.semver) == .eq, .windows => |a_windows| a_windows == b.windows, }; } pub fn eqlOpt(a: ?OsVersion, b: ?OsVersion) bool { if (a == null and b == null) return true; if (a == null or b == null) return false; return OsVersion.eql(a.?, b.?); } }