Skip to main content

OsVersion

Struct OsVersion 

Source
#[repr(C)]
pub struct OsVersion { pub os: OsFamily, pub version_id: u32, }
Expand description

OS version with ordering - only comparable within the same OS family

Each OS has its own version numbering system with named versions. Comparisons between different OS families always return false.

Fields§

§os: OsFamily

Which OS family this version belongs to

§version_id: u32

Numeric version ID for ordering (higher = newer) Each OS has its own numbering scheme starting from 0

Implementations§

Source§

impl OsVersion

Source

pub const fn new(os: OsFamily, version_id: u32) -> Self

Source

pub fn compare(&self, other: &Self) -> Option<Ordering>

Compare two versions - only meaningful within the same OS family Returns None if OS families don’t match (comparison not meaningful)

Source

pub fn is_at_least(&self, other: &Self) -> bool

Check if self >= other (for Min conditions)

Source

pub fn is_at_most(&self, other: &Self) -> bool

Check if self <= other (for Max conditions)

Source§

impl OsVersion

Source

pub fn is_exactly(&self, other: &Self) -> bool

Check if self == other

Source§

impl OsVersion

Windows version constants - use these in CSS like @os-version(>= win-xp)

Source

pub const WIN_2000: Self

Source

pub const WIN_XP: Self

Source

pub const WIN_XP_64: Self

Source

pub const WIN_VISTA: Self

Source

pub const WIN_7: Self

Source

pub const WIN_8: Self

Source

pub const WIN_8_1: Self

Source

pub const WIN_10: Self

Source

pub const WIN_10_1507: Self

Source

pub const WIN_10_1511: Self

Source

pub const WIN_10_1607: Self

Source

pub const WIN_10_1703: Self

Source

pub const WIN_10_1709: Self

Source

pub const WIN_10_1803: Self

Source

pub const WIN_10_1809: Self

Source

pub const WIN_10_1903: Self

Source

pub const WIN_10_1909: Self

Source

pub const WIN_10_2004: Self

Source

pub const WIN_10_20H2: Self

Source

pub const WIN_10_21H1: Self

Source

pub const WIN_10_21H2: Self

Source

pub const WIN_10_22H2: Self

Source

pub const WIN_11: Self

Source

pub const WIN_11_21H2: Self

Source

pub const WIN_11_22H2: Self

Source

pub const WIN_11_23H2: Self

Source

pub const WIN_11_24H2: Self

Source

pub const MACOS_CHEETAH: Self

Source

pub const MACOS_PUMA: Self

Source

pub const MACOS_JAGUAR: Self

Source

pub const MACOS_PANTHER: Self

Source

pub const MACOS_TIGER: Self

Source

pub const MACOS_LEOPARD: Self

Source

pub const MACOS_SNOW_LEOPARD: Self

Source

pub const MACOS_LION: Self

Source

pub const MACOS_MOUNTAIN_LION: Self

Source

pub const MACOS_MAVERICKS: Self

Source

pub const MACOS_YOSEMITE: Self

Source

pub const MACOS_EL_CAPITAN: Self

Source

pub const MACOS_SIERRA: Self

Source

pub const MACOS_HIGH_SIERRA: Self

Source

pub const MACOS_MOJAVE: Self

Source

pub const MACOS_CATALINA: Self

Source

pub const MACOS_BIG_SUR: Self

Source

pub const MACOS_MONTEREY: Self

Source

pub const MACOS_VENTURA: Self

Source

pub const MACOS_SONOMA: Self

Source

pub const MACOS_SEQUOIA: Self

Source

pub const MACOS_TAHOE: Self

Source

pub const IOS_1: Self

Source

pub const IOS_2: Self

Source

pub const IOS_3: Self

Source

pub const IOS_4: Self

Source

pub const IOS_5: Self

Source

pub const IOS_6: Self

Source

pub const IOS_7: Self

Source

pub const IOS_8: Self

Source

pub const IOS_9: Self

Source

pub const IOS_10: Self

Source

pub const IOS_11: Self

Source

pub const IOS_12: Self

Source

pub const IOS_13: Self

Source

pub const IOS_14: Self

Source

pub const IOS_15: Self

Source

pub const IOS_16: Self

Source

pub const IOS_17: Self

Source

pub const IOS_18: Self

Source

pub const ANDROID_CUPCAKE: Self

Source

pub const ANDROID_DONUT: Self

Source

pub const ANDROID_ECLAIR: Self

Source

pub const ANDROID_FROYO: Self

Source

pub const ANDROID_GINGERBREAD: Self

Source

pub const ANDROID_HONEYCOMB: Self

Source

pub const ANDROID_ICE_CREAM_SANDWICH: Self

Source

pub const ANDROID_JELLY_BEAN: Self

Source

pub const ANDROID_KITKAT: Self

Source

pub const ANDROID_LOLLIPOP: Self

Source

pub const ANDROID_MARSHMALLOW: Self

Source

pub const ANDROID_NOUGAT: Self

Source

pub const ANDROID_OREO: Self

Source

pub const ANDROID_PIE: Self

Source

pub const ANDROID_10: Self

Source

pub const ANDROID_11: Self

Source

pub const ANDROID_12: Self

Source

pub const ANDROID_12L: Self

Source

pub const ANDROID_13: Self

Source

pub const ANDROID_14: Self

Source

pub const ANDROID_15: Self

Source

pub const LINUX_2_6: Self

Source

pub const LINUX_3_0: Self

Source

pub const LINUX_4_0: Self

Source

pub const LINUX_5_0: Self

Source

pub const LINUX_6_0: Self

Source

pub const fn unknown() -> Self

Unknown OS version (for when detection fails or OS is unknown)

Trait Implementations§

Source§

impl Clone for OsVersion

Source§

fn clone(&self) -> OsVersion

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OsVersion

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for OsVersion

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Hash for OsVersion

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for OsVersion

Source§

fn eq(&self, other: &OsVersion) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for OsVersion

Source§

impl Eq for OsVersion

Source§

impl StructuralPartialEq for OsVersion

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> GetHash for T
where T: Hash,

Source§

fn get_hash(&self) -> u64

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.