Trait rin::math::cast::ToPrimitive[][src]

pub trait ToPrimitive {
Show methods pub fn to_i64(&self) -> Option<i64>;
pub fn to_u64(&self) -> Option<u64>; pub fn to_isize(&self) -> Option<isize> { ... }
pub fn to_i8(&self) -> Option<i8> { ... }
pub fn to_i16(&self) -> Option<i16> { ... }
pub fn to_i32(&self) -> Option<i32> { ... }
pub fn to_i128(&self) -> Option<i128> { ... }
pub fn to_usize(&self) -> Option<usize> { ... }
pub fn to_u8(&self) -> Option<u8> { ... }
pub fn to_u16(&self) -> Option<u16> { ... }
pub fn to_u32(&self) -> Option<u32> { ... }
pub fn to_u128(&self) -> Option<u128> { ... }
pub fn to_f32(&self) -> Option<f32> { ... }
pub fn to_f64(&self) -> Option<f64> { ... }
}

A generic trait for converting a value to a number.

A value can be represented by the target type when it lies within the range of scalars supported by the target type. For example, a negative integer cannot be represented by an unsigned integer type, and an i64 with a very high magnitude might not be convertible to an i32. On the other hand, conversions with possible precision loss or truncation are admitted, like an f32 with a decimal part to an integer type, or even a large f64 saturating to f32 infinity.

Required methods

pub fn to_i64(&self) -> Option<i64>[src]

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.

pub fn to_u64(&self) -> Option<u64>[src]

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.

Loading content...

Provided methods

pub fn to_isize(&self) -> Option<isize>[src]

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.

pub fn to_i8(&self) -> Option<i8>[src]

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.

pub fn to_i16(&self) -> Option<i16>[src]

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.

pub fn to_i32(&self) -> Option<i32>[src]

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.

pub fn to_i128(&self) -> Option<i128>[src]

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned.

This method is only available with feature i128 enabled on Rust >= 1.26.

The default implementation converts through to_i64(). Types implementing this trait should override this method if they can represent a greater range.

pub fn to_usize(&self) -> Option<usize>[src]

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.

pub fn to_u8(&self) -> Option<u8>[src]

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.

pub fn to_u16(&self) -> Option<u16>[src]

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.

pub fn to_u32(&self) -> Option<u32>[src]

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.

pub fn to_u128(&self) -> Option<u128>[src]

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned.

This method is only available with feature i128 enabled on Rust >= 1.26.

The default implementation converts through to_u64(). Types implementing this trait should override this method if they can represent a greater range.

pub fn to_f32(&self) -> Option<f32>[src]

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.

pub fn to_f64(&self) -> Option<f64>[src]

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64.

The default implementation tries to convert through to_i64(), and failing that through to_u64(). Types implementing this trait should override this method if they can represent a greater range.

Loading content...

Implementations on Foreign Types

impl<T> ToPrimitive for Wrapping<T> where
    T: ToPrimitive
[src]

impl ToPrimitive for i128[src]

impl ToPrimitive for u32[src]

impl ToPrimitive for u64[src]

impl ToPrimitive for f64[src]

impl ToPrimitive for u16[src]

impl ToPrimitive for usize[src]

impl ToPrimitive for i32[src]

impl ToPrimitive for isize[src]

impl ToPrimitive for u8[src]

impl ToPrimitive for i64[src]

impl ToPrimitive for f32[src]

impl ToPrimitive for u128[src]

impl ToPrimitive for i8[src]

impl ToPrimitive for i16[src]

impl ToPrimitive for Ratio<usize>[src]

impl ToPrimitive for Ratio<u16>[src]

impl ToPrimitive for Ratio<i64>[src]

impl ToPrimitive for Ratio<i32>[src]

impl ToPrimitive for Ratio<isize>[src]

impl ToPrimitive for Ratio<u8>[src]

impl ToPrimitive for Ratio<i8>[src]

impl ToPrimitive for Ratio<u32>[src]

impl ToPrimitive for Ratio<i16>[src]

impl ToPrimitive for Ratio<u64>[src]

impl<T> ToPrimitive for Complex<T> where
    T: ToPrimitive + Num
[src]

Loading content...

Implementors

impl<N> ToPrimitive for Deg<N> where
    N: ToPrimitive
[src]

impl<N> ToPrimitive for Rad<N> where
    N: ToPrimitive
[src]

impl<T> ToPrimitive for rin::math::Complex<T> where
    T: ToPrimitive + Num
[src]

Loading content...