unionstd.Target.Query.OsVersion[src]

Fields

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

Functions

Functioneql[src]

pub fn eql(a: OsVersion, b: OsVersion) bool

Parameters

Source Code

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

FunctioneqlOpt[src]

pub fn eqlOpt(a: ?OsVersion, b: ?OsVersion) bool

Parameters

Source Code

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

Source Code

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