Unit

Trait Unit 

Source
pub trait Unit: Sized {
    const NUM: i32;
    const DEN: i32;

    // Required method
    fn value(&self) -> f64;

    // Provided method
    fn base_value(&self) -> f64 { ... }
}
Expand description

Core Trait that represent a Unit

Required Associated Constants§

Source

const NUM: i32

The numerator of factor

Source

const DEN: i32

The denominator of factor

Required Methods§

Source

fn value(&self) -> f64

Get the value

Provided Methods§

Source

fn base_value(&self) -> f64

Get the value of base unit

§Base unit

Base unit is a unit with NUM=DEN=1,like Meter Gram or Byte

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Unit for Degree

Source§

const NUM: i32 = 31_415_926i32

Source§

const DEN: i32 = 1_800_000_000i32

Source§

impl Unit for Radian

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Bit

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 8i32

Source§

impl Unit for Byte

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Gibibyte

Source§

const NUM: i32 = 1_073_741_824i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Kibibyte

Source§

const NUM: i32 = 1_024i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Mebibyte

Source§

const NUM: i32 = 1_048_576i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Gigahertz

Source§

const NUM: i32 = 1_000_000_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Hertz

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Kilohertz

Source§

const NUM: i32 = 1_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Megahertz

Source§

const NUM: i32 = 1_000_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Centimeter

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 100i32

Source§

impl Unit for Decimeter

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 10i32

Source§

impl Unit for Kilometer

Source§

const NUM: i32 = 1_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Meter

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Micrometer

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000_000i32

Source§

impl Unit for Millimeter

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000i32

Source§

impl Unit for Nanometer

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000_000_000i32

Source§

impl Unit for Carat

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 5i32

Source§

impl Unit for Gram

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Kilogram

Source§

const NUM: i32 = 1_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Microgram

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000_000i32

Source§

impl Unit for Milligram

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000i32

Source§

impl Unit for Ton

Source§

const NUM: i32 = 1_000_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Day

Source§

const NUM: i32 = 86_400i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Hour

Source§

const NUM: i32 = 3_600i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Microsecond

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000_000i32

Source§

impl Unit for Millisecond

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000i32

Source§

impl Unit for Minute

Source§

const NUM: i32 = 60i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Month

Source§

const NUM: i32 = 2_592_000i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Nanosecond

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1_000_000_000i32

Source§

impl Unit for Second

Source§

const NUM: i32 = 1i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Week

Source§

const NUM: i32 = 604_800i32

Source§

const DEN: i32 = 1i32

Source§

impl Unit for Year

Source§

const NUM: i32 = 31_536_000i32

Source§

const DEN: i32 = 1i32