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.?);
}
}