Skip to main content

CastFrom

Trait CastFrom 

Source
pub trait CastFrom<T> {
    // Required method
    fn cast_from(value: T) -> Self;
}
Expand description

Same semantics as the as keyword: 4f32 as u64, and the From trait, but generic friendly.

One should always prefer implementing CastFrom over CastInto because implementing CastFrom automatically provides one with an implementation of CastInto thanks to the blanket implementation in the hexga_math library.

Like the as keyword, the result might lose some precision.

use hexga_math::prelude::*;

assert_eq!(i32::cast_from(12.3f32), 12);

let casted : i32 = 12.3f32.cast_into();
assert_eq!(casted, 12i32);

Also work with composite type

use hexga_math::prelude::*;

let x = [1, 2i32];
let y : [f32; 2] = x.cast_into(),
assert_eq!(y, [1f32, 2f32]);


let a = point2(1, 2);
let b : Vec2 = a.cast_into(),
assert_eq!(b, vec2(1., 2.));

Required Methods§

Source

fn cast_from(value: T) -> Self

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 CastFrom<bool> for bool

Source§

impl CastFrom<bool> for f32

Source§

fn cast_from(value: bool) -> f32

Source§

impl CastFrom<bool> for f64

Source§

fn cast_from(value: bool) -> f64

Source§

impl CastFrom<bool> for i8

Source§

fn cast_from(value: bool) -> i8

Source§

impl CastFrom<bool> for i16

Source§

fn cast_from(value: bool) -> i16

Source§

impl CastFrom<bool> for i32

Source§

fn cast_from(value: bool) -> i32

Source§

impl CastFrom<bool> for i64

Source§

fn cast_from(value: bool) -> i64

Source§

impl CastFrom<bool> for isize

Source§

impl CastFrom<bool> for u8

Source§

fn cast_from(value: bool) -> u8

Source§

impl CastFrom<bool> for u16

Source§

fn cast_from(value: bool) -> u16

Source§

impl CastFrom<bool> for u32

Source§

fn cast_from(value: bool) -> u32

Source§

impl CastFrom<bool> for u64

Source§

fn cast_from(value: bool) -> u64

Source§

impl CastFrom<bool> for usize

Source§

impl CastFrom<f32> for bool

Source§

fn cast_from(value: f32) -> bool

Source§

impl CastFrom<f32> for f32

Source§

fn cast_from(value: f32) -> f32

Source§

impl CastFrom<f32> for f64

Source§

fn cast_from(value: f32) -> f64

Source§

impl CastFrom<f32> for i8

Source§

fn cast_from(value: f32) -> i8

Source§

impl CastFrom<f32> for i16

Source§

fn cast_from(value: f32) -> i16

Source§

impl CastFrom<f32> for i32

Source§

fn cast_from(value: f32) -> i32

Source§

impl CastFrom<f32> for i64

Source§

fn cast_from(value: f32) -> i64

Source§

impl CastFrom<f32> for isize

Source§

impl CastFrom<f32> for u8

Source§

fn cast_from(value: f32) -> u8

Source§

impl CastFrom<f32> for u16

Source§

fn cast_from(value: f32) -> u16

Source§

impl CastFrom<f32> for u32

Source§

fn cast_from(value: f32) -> u32

Source§

impl CastFrom<f32> for u64

Source§

fn cast_from(value: f32) -> u64

Source§

impl CastFrom<f32> for usize

Source§

impl CastFrom<f64> for bool

Source§

fn cast_from(value: f64) -> bool

Source§

impl CastFrom<f64> for f32

Source§

fn cast_from(value: f64) -> f32

Source§

impl CastFrom<f64> for f64

Source§

fn cast_from(value: f64) -> f64

Source§

impl CastFrom<f64> for i8

Source§

fn cast_from(value: f64) -> i8

Source§

impl CastFrom<f64> for i16

Source§

fn cast_from(value: f64) -> i16

Source§

impl CastFrom<f64> for i32

Source§

fn cast_from(value: f64) -> i32

Source§

impl CastFrom<f64> for i64

Source§

fn cast_from(value: f64) -> i64

Source§

impl CastFrom<f64> for isize

Source§

impl CastFrom<f64> for u8

Source§

fn cast_from(value: f64) -> u8

Source§

impl CastFrom<f64> for u16

Source§

fn cast_from(value: f64) -> u16

Source§

impl CastFrom<f64> for u32

Source§

fn cast_from(value: f64) -> u32

Source§

impl CastFrom<f64> for u64

Source§

fn cast_from(value: f64) -> u64

Source§

impl CastFrom<f64> for usize

Source§

impl CastFrom<i8> for bool

Source§

fn cast_from(value: i8) -> bool

Source§

impl CastFrom<i8> for f32

Source§

fn cast_from(value: i8) -> f32

Source§

impl CastFrom<i8> for f64

Source§

fn cast_from(value: i8) -> f64

Source§

impl CastFrom<i8> for i8

Source§

fn cast_from(value: i8) -> i8

Source§

impl CastFrom<i8> for i16

Source§

fn cast_from(value: i8) -> i16

Source§

impl CastFrom<i8> for i32

Source§

fn cast_from(value: i8) -> i32

Source§

impl CastFrom<i8> for i64

Source§

fn cast_from(value: i8) -> i64

Source§

impl CastFrom<i8> for isize

Source§

fn cast_from(value: i8) -> isize

Source§

impl CastFrom<i8> for u8

Source§

fn cast_from(value: i8) -> u8

Source§

impl CastFrom<i8> for u16

Source§

fn cast_from(value: i8) -> u16

Source§

impl CastFrom<i8> for u32

Source§

fn cast_from(value: i8) -> u32

Source§

impl CastFrom<i8> for u64

Source§

fn cast_from(value: i8) -> u64

Source§

impl CastFrom<i8> for usize

Source§

fn cast_from(value: i8) -> usize

Source§

impl CastFrom<i16> for bool

Source§

fn cast_from(value: i16) -> bool

Source§

impl CastFrom<i16> for f32

Source§

fn cast_from(value: i16) -> f32

Source§

impl CastFrom<i16> for f64

Source§

fn cast_from(value: i16) -> f64

Source§

impl CastFrom<i16> for i8

Source§

fn cast_from(value: i16) -> i8

Source§

impl CastFrom<i16> for i16

Source§

fn cast_from(value: i16) -> i16

Source§

impl CastFrom<i16> for i32

Source§

fn cast_from(value: i16) -> i32

Source§

impl CastFrom<i16> for i64

Source§

fn cast_from(value: i16) -> i64

Source§

impl CastFrom<i16> for isize

Source§

impl CastFrom<i16> for u8

Source§

fn cast_from(value: i16) -> u8

Source§

impl CastFrom<i16> for u16

Source§

fn cast_from(value: i16) -> u16

Source§

impl CastFrom<i16> for u32

Source§

fn cast_from(value: i16) -> u32

Source§

impl CastFrom<i16> for u64

Source§

fn cast_from(value: i16) -> u64

Source§

impl CastFrom<i16> for usize

Source§

impl CastFrom<i32> for bool

Source§

fn cast_from(value: i32) -> bool

Source§

impl CastFrom<i32> for f32

Source§

fn cast_from(value: i32) -> f32

Source§

impl CastFrom<i32> for f64

Source§

fn cast_from(value: i32) -> f64

Source§

impl CastFrom<i32> for i8

Source§

fn cast_from(value: i32) -> i8

Source§

impl CastFrom<i32> for i16

Source§

fn cast_from(value: i32) -> i16

Source§

impl CastFrom<i32> for i32

Source§

fn cast_from(value: i32) -> i32

Source§

impl CastFrom<i32> for i64

Source§

fn cast_from(value: i32) -> i64

Source§

impl CastFrom<i32> for isize

Source§

impl CastFrom<i32> for u8

Source§

fn cast_from(value: i32) -> u8

Source§

impl CastFrom<i32> for u16

Source§

fn cast_from(value: i32) -> u16

Source§

impl CastFrom<i32> for u32

Source§

fn cast_from(value: i32) -> u32

Source§

impl CastFrom<i32> for u64

Source§

fn cast_from(value: i32) -> u64

Source§

impl CastFrom<i32> for usize

Source§

impl CastFrom<i64> for bool

Source§

fn cast_from(value: i64) -> bool

Source§

impl CastFrom<i64> for f32

Source§

fn cast_from(value: i64) -> f32

Source§

impl CastFrom<i64> for f64

Source§

fn cast_from(value: i64) -> f64

Source§

impl CastFrom<i64> for i8

Source§

fn cast_from(value: i64) -> i8

Source§

impl CastFrom<i64> for i16

Source§

fn cast_from(value: i64) -> i16

Source§

impl CastFrom<i64> for i32

Source§

fn cast_from(value: i64) -> i32

Source§

impl CastFrom<i64> for i64

Source§

fn cast_from(value: i64) -> i64

Source§

impl CastFrom<i64> for isize

Source§

impl CastFrom<i64> for u8

Source§

fn cast_from(value: i64) -> u8

Source§

impl CastFrom<i64> for u16

Source§

fn cast_from(value: i64) -> u16

Source§

impl CastFrom<i64> for u32

Source§

fn cast_from(value: i64) -> u32

Source§

impl CastFrom<i64> for u64

Source§

fn cast_from(value: i64) -> u64

Source§

impl CastFrom<i64> for usize

Source§

impl CastFrom<isize> for bool

Source§

impl CastFrom<isize> for f32

Source§

impl CastFrom<isize> for f64

Source§

impl CastFrom<isize> for i8

Source§

fn cast_from(value: isize) -> i8

Source§

impl CastFrom<isize> for i16

Source§

impl CastFrom<isize> for i32

Source§

impl CastFrom<isize> for i64

Source§

impl CastFrom<isize> for isize

Source§

impl CastFrom<isize> for u8

Source§

fn cast_from(value: isize) -> u8

Source§

impl CastFrom<isize> for u16

Source§

impl CastFrom<isize> for u32

Source§

impl CastFrom<isize> for u64

Source§

impl CastFrom<isize> for usize

Source§

impl CastFrom<u8> for bool

Source§

fn cast_from(value: u8) -> bool

Source§

impl CastFrom<u8> for f32

Source§

fn cast_from(value: u8) -> f32

Source§

impl CastFrom<u8> for f64

Source§

fn cast_from(value: u8) -> f64

Source§

impl CastFrom<u8> for i8

Source§

fn cast_from(value: u8) -> i8

Source§

impl CastFrom<u8> for i16

Source§

fn cast_from(value: u8) -> i16

Source§

impl CastFrom<u8> for i32

Source§

fn cast_from(value: u8) -> i32

Source§

impl CastFrom<u8> for i64

Source§

fn cast_from(value: u8) -> i64

Source§

impl CastFrom<u8> for isize

Source§

fn cast_from(value: u8) -> isize

Source§

impl CastFrom<u8> for u8

Source§

fn cast_from(value: u8) -> u8

Source§

impl CastFrom<u8> for u16

Source§

fn cast_from(value: u8) -> u16

Source§

impl CastFrom<u8> for u32

Source§

fn cast_from(value: u8) -> u32

Source§

impl CastFrom<u8> for u64

Source§

fn cast_from(value: u8) -> u64

Source§

impl CastFrom<u8> for usize

Source§

fn cast_from(value: u8) -> usize

Source§

impl CastFrom<u16> for bool

Source§

fn cast_from(value: u16) -> bool

Source§

impl CastFrom<u16> for f32

Source§

fn cast_from(value: u16) -> f32

Source§

impl CastFrom<u16> for f64

Source§

fn cast_from(value: u16) -> f64

Source§

impl CastFrom<u16> for i8

Source§

fn cast_from(value: u16) -> i8

Source§

impl CastFrom<u16> for i16

Source§

fn cast_from(value: u16) -> i16

Source§

impl CastFrom<u16> for i32

Source§

fn cast_from(value: u16) -> i32

Source§

impl CastFrom<u16> for i64

Source§

fn cast_from(value: u16) -> i64

Source§

impl CastFrom<u16> for isize

Source§

impl CastFrom<u16> for u8

Source§

fn cast_from(value: u16) -> u8

Source§

impl CastFrom<u16> for u16

Source§

fn cast_from(value: u16) -> u16

Source§

impl CastFrom<u16> for u32

Source§

fn cast_from(value: u16) -> u32

Source§

impl CastFrom<u16> for u64

Source§

fn cast_from(value: u16) -> u64

Source§

impl CastFrom<u16> for usize

Source§

impl CastFrom<u32> for bool

Source§

fn cast_from(value: u32) -> bool

Source§

impl CastFrom<u32> for f32

Source§

fn cast_from(value: u32) -> f32

Source§

impl CastFrom<u32> for f64

Source§

fn cast_from(value: u32) -> f64

Source§

impl CastFrom<u32> for i8

Source§

fn cast_from(value: u32) -> i8

Source§

impl CastFrom<u32> for i16

Source§

fn cast_from(value: u32) -> i16

Source§

impl CastFrom<u32> for i32

Source§

fn cast_from(value: u32) -> i32

Source§

impl CastFrom<u32> for i64

Source§

fn cast_from(value: u32) -> i64

Source§

impl CastFrom<u32> for isize

Source§

impl CastFrom<u32> for u8

Source§

fn cast_from(value: u32) -> u8

Source§

impl CastFrom<u32> for u16

Source§

fn cast_from(value: u32) -> u16

Source§

impl CastFrom<u32> for u32

Source§

fn cast_from(value: u32) -> u32

Source§

impl CastFrom<u32> for u64

Source§

fn cast_from(value: u32) -> u64

Source§

impl CastFrom<u32> for usize

Source§

impl CastFrom<u64> for bool

Source§

fn cast_from(value: u64) -> bool

Source§

impl CastFrom<u64> for f32

Source§

fn cast_from(value: u64) -> f32

Source§

impl CastFrom<u64> for f64

Source§

fn cast_from(value: u64) -> f64

Source§

impl CastFrom<u64> for i8

Source§

fn cast_from(value: u64) -> i8

Source§

impl CastFrom<u64> for i16

Source§

fn cast_from(value: u64) -> i16

Source§

impl CastFrom<u64> for i32

Source§

fn cast_from(value: u64) -> i32

Source§

impl CastFrom<u64> for i64

Source§

fn cast_from(value: u64) -> i64

Source§

impl CastFrom<u64> for isize

Source§

impl CastFrom<u64> for u8

Source§

fn cast_from(value: u64) -> u8

Source§

impl CastFrom<u64> for u16

Source§

fn cast_from(value: u64) -> u16

Source§

impl CastFrom<u64> for u32

Source§

fn cast_from(value: u64) -> u32

Source§

impl CastFrom<u64> for u64

Source§

fn cast_from(value: u64) -> u64

Source§

impl CastFrom<u64> for usize

Source§

impl CastFrom<usize> for bool

Source§

impl CastFrom<usize> for f32

Source§

impl CastFrom<usize> for f64

Source§

impl CastFrom<usize> for i8

Source§

fn cast_from(value: usize) -> i8

Source§

impl CastFrom<usize> for i16

Source§

impl CastFrom<usize> for i32

Source§

impl CastFrom<usize> for i64

Source§

impl CastFrom<usize> for isize

Source§

impl CastFrom<usize> for u8

Source§

fn cast_from(value: usize) -> u8

Source§

impl CastFrom<usize> for u16

Source§

impl CastFrom<usize> for u32

Source§

impl CastFrom<usize> for u64

Source§

impl CastFrom<usize> for usize

Implementors§

Source§

impl<C1, C2> CastFrom<C2> for C1
where C1: Map, C2: Map<WithType<<C1 as MapIntern>::Item> = C1>, <C1 as MapIntern>::Item: CastFrom<<C2 as MapIntern>::Item>,

Source§

impl<T, T2> CastFrom<AngleOf<T2>> for AngleOf<T>
where T: CastFrom<T2>,

Source§

impl<T, T2> CastFrom<TimeOf<T2>> for TimeOf<T>
where T: CastFrom<T2>,