pub trait FromPrimitive: Sized {
Show 14 methods
// Required methods
fn from_i64(n: i64) -> Option<Self>;
fn from_u64(n: u64) -> Option<Self>;
// Provided methods
fn from_isize(n: isize) -> Option<Self> { ... }
fn from_i8(n: i8) -> Option<Self> { ... }
fn from_i16(n: i16) -> Option<Self> { ... }
fn from_i32(n: i32) -> Option<Self> { ... }
fn from_i128(n: i128) -> Option<Self> { ... }
fn from_usize(n: usize) -> Option<Self> { ... }
fn from_u8(n: u8) -> Option<Self> { ... }
fn from_u16(n: u16) -> Option<Self> { ... }
fn from_u32(n: u32) -> Option<Self> { ... }
fn from_u128(n: u128) -> Option<Self> { ... }
fn from_f32(n: f32) -> Option<Self> { ... }
fn from_f64(n: f64) -> Option<Self> { ... }
}Expand description
A generic trait for converting a number to a value.
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§
Provided Methods§
Sourcefn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
Converts an i128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
The default implementation converts through from_i64(). Types implementing
this trait should override this method if they can represent a greater range.
Sourcefn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
Converts an u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
Converts an u128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
The default implementation converts through from_u64(). Types implementing
this trait should override this method if they can represent a greater range.
Sourcefn from_f32(n: f32) -> Option<Self>
fn from_f32(n: f32) -> Option<Self>
Converts a f32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
Sourcefn from_f64(n: f64) -> Option<Self>
fn from_f64(n: f64) -> Option<Self>
Converts a f64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.
The default implementation tries to convert through from_i64(), and
failing that through from_u64(). Types implementing this trait should
override this method if they can represent a greater range.
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.
Implementations on Foreign Types§
Source§impl FromPrimitive for f32
impl FromPrimitive for f32
fn from_isize(n: isize) -> Option<f32>
fn from_i8(n: i8) -> Option<f32>
fn from_i16(n: i16) -> Option<f32>
fn from_i32(n: i32) -> Option<f32>
fn from_i64(n: i64) -> Option<f32>
fn from_i128(n: i128) -> Option<f32>
fn from_usize(n: usize) -> Option<f32>
fn from_u8(n: u8) -> Option<f32>
fn from_u16(n: u16) -> Option<f32>
fn from_u32(n: u32) -> Option<f32>
fn from_u64(n: u64) -> Option<f32>
fn from_u128(n: u128) -> Option<f32>
fn from_f32(n: f32) -> Option<f32>
fn from_f64(n: f64) -> Option<f32>
Source§impl FromPrimitive for f64
impl FromPrimitive for f64
fn from_isize(n: isize) -> Option<f64>
fn from_i8(n: i8) -> Option<f64>
fn from_i16(n: i16) -> Option<f64>
fn from_i32(n: i32) -> Option<f64>
fn from_i64(n: i64) -> Option<f64>
fn from_i128(n: i128) -> Option<f64>
fn from_usize(n: usize) -> Option<f64>
fn from_u8(n: u8) -> Option<f64>
fn from_u16(n: u16) -> Option<f64>
fn from_u32(n: u32) -> Option<f64>
fn from_u64(n: u64) -> Option<f64>
fn from_u128(n: u128) -> Option<f64>
fn from_f32(n: f32) -> Option<f64>
fn from_f64(n: f64) -> Option<f64>
Source§impl FromPrimitive for i8
impl FromPrimitive for i8
fn from_isize(n: isize) -> Option<i8>
fn from_i8(n: i8) -> Option<i8>
fn from_i16(n: i16) -> Option<i8>
fn from_i32(n: i32) -> Option<i8>
fn from_i64(n: i64) -> Option<i8>
fn from_i128(n: i128) -> Option<i8>
fn from_usize(n: usize) -> Option<i8>
fn from_u8(n: u8) -> Option<i8>
fn from_u16(n: u16) -> Option<i8>
fn from_u32(n: u32) -> Option<i8>
fn from_u64(n: u64) -> Option<i8>
fn from_u128(n: u128) -> Option<i8>
fn from_f32(n: f32) -> Option<i8>
fn from_f64(n: f64) -> Option<i8>
Source§impl FromPrimitive for i16
impl FromPrimitive for i16
fn from_isize(n: isize) -> Option<i16>
fn from_i8(n: i8) -> Option<i16>
fn from_i16(n: i16) -> Option<i16>
fn from_i32(n: i32) -> Option<i16>
fn from_i64(n: i64) -> Option<i16>
fn from_i128(n: i128) -> Option<i16>
fn from_usize(n: usize) -> Option<i16>
fn from_u8(n: u8) -> Option<i16>
fn from_u16(n: u16) -> Option<i16>
fn from_u32(n: u32) -> Option<i16>
fn from_u64(n: u64) -> Option<i16>
fn from_u128(n: u128) -> Option<i16>
fn from_f32(n: f32) -> Option<i16>
fn from_f64(n: f64) -> Option<i16>
Source§impl FromPrimitive for i32
impl FromPrimitive for i32
fn from_isize(n: isize) -> Option<i32>
fn from_i8(n: i8) -> Option<i32>
fn from_i16(n: i16) -> Option<i32>
fn from_i32(n: i32) -> Option<i32>
fn from_i64(n: i64) -> Option<i32>
fn from_i128(n: i128) -> Option<i32>
fn from_usize(n: usize) -> Option<i32>
fn from_u8(n: u8) -> Option<i32>
fn from_u16(n: u16) -> Option<i32>
fn from_u32(n: u32) -> Option<i32>
fn from_u64(n: u64) -> Option<i32>
fn from_u128(n: u128) -> Option<i32>
fn from_f32(n: f32) -> Option<i32>
fn from_f64(n: f64) -> Option<i32>
Source§impl FromPrimitive for i64
impl FromPrimitive for i64
fn from_isize(n: isize) -> Option<i64>
fn from_i8(n: i8) -> Option<i64>
fn from_i16(n: i16) -> Option<i64>
fn from_i32(n: i32) -> Option<i64>
fn from_i64(n: i64) -> Option<i64>
fn from_i128(n: i128) -> Option<i64>
fn from_usize(n: usize) -> Option<i64>
fn from_u8(n: u8) -> Option<i64>
fn from_u16(n: u16) -> Option<i64>
fn from_u32(n: u32) -> Option<i64>
fn from_u64(n: u64) -> Option<i64>
fn from_u128(n: u128) -> Option<i64>
fn from_f32(n: f32) -> Option<i64>
fn from_f64(n: f64) -> Option<i64>
Source§impl FromPrimitive for i128
impl FromPrimitive for i128
fn from_isize(n: isize) -> Option<i128>
fn from_i8(n: i8) -> Option<i128>
fn from_i16(n: i16) -> Option<i128>
fn from_i32(n: i32) -> Option<i128>
fn from_i64(n: i64) -> Option<i128>
fn from_i128(n: i128) -> Option<i128>
fn from_usize(n: usize) -> Option<i128>
fn from_u8(n: u8) -> Option<i128>
fn from_u16(n: u16) -> Option<i128>
fn from_u32(n: u32) -> Option<i128>
fn from_u64(n: u64) -> Option<i128>
fn from_u128(n: u128) -> Option<i128>
fn from_f32(n: f32) -> Option<i128>
fn from_f64(n: f64) -> Option<i128>
Source§impl FromPrimitive for isize
impl FromPrimitive for isize
fn from_isize(n: isize) -> Option<isize>
fn from_i8(n: i8) -> Option<isize>
fn from_i16(n: i16) -> Option<isize>
fn from_i32(n: i32) -> Option<isize>
fn from_i64(n: i64) -> Option<isize>
fn from_i128(n: i128) -> Option<isize>
fn from_usize(n: usize) -> Option<isize>
fn from_u8(n: u8) -> Option<isize>
fn from_u16(n: u16) -> Option<isize>
fn from_u32(n: u32) -> Option<isize>
fn from_u64(n: u64) -> Option<isize>
fn from_u128(n: u128) -> Option<isize>
fn from_f32(n: f32) -> Option<isize>
fn from_f64(n: f64) -> Option<isize>
Source§impl FromPrimitive for u8
impl FromPrimitive for u8
fn from_isize(n: isize) -> Option<u8>
fn from_i8(n: i8) -> Option<u8>
fn from_i16(n: i16) -> Option<u8>
fn from_i32(n: i32) -> Option<u8>
fn from_i64(n: i64) -> Option<u8>
fn from_i128(n: i128) -> Option<u8>
fn from_usize(n: usize) -> Option<u8>
fn from_u8(n: u8) -> Option<u8>
fn from_u16(n: u16) -> Option<u8>
fn from_u32(n: u32) -> Option<u8>
fn from_u64(n: u64) -> Option<u8>
fn from_u128(n: u128) -> Option<u8>
fn from_f32(n: f32) -> Option<u8>
fn from_f64(n: f64) -> Option<u8>
Source§impl FromPrimitive for u16
impl FromPrimitive for u16
fn from_isize(n: isize) -> Option<u16>
fn from_i8(n: i8) -> Option<u16>
fn from_i16(n: i16) -> Option<u16>
fn from_i32(n: i32) -> Option<u16>
fn from_i64(n: i64) -> Option<u16>
fn from_i128(n: i128) -> Option<u16>
fn from_usize(n: usize) -> Option<u16>
fn from_u8(n: u8) -> Option<u16>
fn from_u16(n: u16) -> Option<u16>
fn from_u32(n: u32) -> Option<u16>
fn from_u64(n: u64) -> Option<u16>
fn from_u128(n: u128) -> Option<u16>
fn from_f32(n: f32) -> Option<u16>
fn from_f64(n: f64) -> Option<u16>
Source§impl FromPrimitive for u32
impl FromPrimitive for u32
fn from_isize(n: isize) -> Option<u32>
fn from_i8(n: i8) -> Option<u32>
fn from_i16(n: i16) -> Option<u32>
fn from_i32(n: i32) -> Option<u32>
fn from_i64(n: i64) -> Option<u32>
fn from_i128(n: i128) -> Option<u32>
fn from_usize(n: usize) -> Option<u32>
fn from_u8(n: u8) -> Option<u32>
fn from_u16(n: u16) -> Option<u32>
fn from_u32(n: u32) -> Option<u32>
fn from_u64(n: u64) -> Option<u32>
fn from_u128(n: u128) -> Option<u32>
fn from_f32(n: f32) -> Option<u32>
fn from_f64(n: f64) -> Option<u32>
Source§impl FromPrimitive for u64
impl FromPrimitive for u64
fn from_isize(n: isize) -> Option<u64>
fn from_i8(n: i8) -> Option<u64>
fn from_i16(n: i16) -> Option<u64>
fn from_i32(n: i32) -> Option<u64>
fn from_i64(n: i64) -> Option<u64>
fn from_i128(n: i128) -> Option<u64>
fn from_usize(n: usize) -> Option<u64>
fn from_u8(n: u8) -> Option<u64>
fn from_u16(n: u16) -> Option<u64>
fn from_u32(n: u32) -> Option<u64>
fn from_u64(n: u64) -> Option<u64>
fn from_u128(n: u128) -> Option<u64>
fn from_f32(n: f32) -> Option<u64>
fn from_f64(n: f64) -> Option<u64>
Source§impl FromPrimitive for u128
impl FromPrimitive for u128
fn from_isize(n: isize) -> Option<u128>
fn from_i8(n: i8) -> Option<u128>
fn from_i16(n: i16) -> Option<u128>
fn from_i32(n: i32) -> Option<u128>
fn from_i64(n: i64) -> Option<u128>
fn from_i128(n: i128) -> Option<u128>
fn from_usize(n: usize) -> Option<u128>
fn from_u8(n: u8) -> Option<u128>
fn from_u16(n: u16) -> Option<u128>
fn from_u32(n: u32) -> Option<u128>
fn from_u64(n: u64) -> Option<u128>
fn from_u128(n: u128) -> Option<u128>
fn from_f32(n: f32) -> Option<u128>
fn from_f64(n: f64) -> Option<u128>
Source§impl FromPrimitive for usize
impl FromPrimitive for usize
fn from_isize(n: isize) -> Option<usize>
fn from_i8(n: i8) -> Option<usize>
fn from_i16(n: i16) -> Option<usize>
fn from_i32(n: i32) -> Option<usize>
fn from_i64(n: i64) -> Option<usize>
fn from_i128(n: i128) -> Option<usize>
fn from_usize(n: usize) -> Option<usize>
fn from_u8(n: u8) -> Option<usize>
fn from_u16(n: u16) -> Option<usize>
fn from_u32(n: u32) -> Option<usize>
fn from_u64(n: u64) -> Option<usize>
fn from_u128(n: u128) -> Option<usize>
fn from_f32(n: f32) -> Option<usize>
fn from_f64(n: f64) -> Option<usize>
Source§impl<T> FromPrimitive for Wrapping<T>where
T: FromPrimitive,
impl<T> FromPrimitive for Wrapping<T>where
T: FromPrimitive,
fn from_isize(n: isize) -> Option<Wrapping<T>>
fn from_i8(n: i8) -> Option<Wrapping<T>>
fn from_i16(n: i16) -> Option<Wrapping<T>>
fn from_i32(n: i32) -> Option<Wrapping<T>>
fn from_i64(n: i64) -> Option<Wrapping<T>>
fn from_i128(n: i128) -> Option<Wrapping<T>>
fn from_usize(n: usize) -> Option<Wrapping<T>>
fn from_u8(n: u8) -> Option<Wrapping<T>>
fn from_u16(n: u16) -> Option<Wrapping<T>>
fn from_u32(n: u32) -> Option<Wrapping<T>>
fn from_u64(n: u64) -> Option<Wrapping<T>>
fn from_u128(n: u128) -> Option<Wrapping<T>>
fn from_f32(n: f32) -> Option<Wrapping<T>>
fn from_f64(n: f64) -> Option<Wrapping<T>>
Implementors§
impl FromPrimitive for Ratio<i8>
impl FromPrimitive for Ratio<i16>
impl FromPrimitive for Ratio<i32>
impl FromPrimitive for Ratio<i64>
impl FromPrimitive for Ratio<i128>
impl FromPrimitive for Ratio<isize>
impl FromPrimitive for Ratio<u8>
impl FromPrimitive for Ratio<u16>
impl FromPrimitive for Ratio<u32>
impl FromPrimitive for Ratio<u64>
impl FromPrimitive for Ratio<u128>
impl FromPrimitive for Ratio<usize>
impl FromPrimitive for Ratio<BigInt>
num-bigint only.