rutil 0.2.0

A library containing utilities for creating programs in rust.
Documentation
/// Convert operations.
pub trait ConvertOps {
    /// Converts `self` to an `u8`.
    fn to_u8(self) -> u8;

    /// Converts `self` to an `u16`.
    fn to_u16(self) -> u16;

    /// Converts `self` to an `u32`.
    fn to_u32(self) -> u32;

    /// Converts `self` to an `u64`.
    fn to_u64(self) -> u64;

    /// Converts `self` to an `u128`.
    fn to_u128(self) -> u128;

    /// Converts `self` to an `usize`.
    fn to_usize(self) -> usize;

    /// Converts `self` to an `i8`.
    fn to_i8(self) -> i8;

    /// Converts `self` to an `i16`.
    fn to_i16(self) -> i16;

    /// Converts `self` to an `i32`.
    fn to_i32(self) -> i32;

    /// Converts `self` to an `i64`.
    fn to_i64(self) -> i64;

    /// Converts `self` to an `i128`.
    fn to_i128(self) -> i128;

    /// Converts `self` to an `isize`.
    fn to_isize(self) -> isize;

    /// Converts `self` to a `f32`.
    fn to_f32(self) -> f32;

    /// Converts `self` to a `f64`.
    fn to_f64(self) -> f64;
}

/// Implements [`ConvertOps`].
macro_rules! impl_convert {
    ($($t:ty),*) => {
        $(impl ConvertOps for $t {
            #[inline] fn to_u8(self) -> u8 { self as u8 }
            #[inline] fn to_u16(self) -> u16 { self as u16 }
            #[inline] fn to_u32(self) -> u32 { self as u32 }
            #[inline] fn to_u64(self) -> u64 { self as u64 }
            #[inline] fn to_u128(self) -> u128 { self as u128 }
            #[inline] fn to_usize(self) -> usize { self as usize }
            #[inline] fn to_i8(self) -> i8 { self as i8 }
            #[inline] fn to_i16(self) -> i16 { self as i16 }
            #[inline] fn to_i32(self) -> i32 { self as i32 }
            #[inline] fn to_i64(self) -> i64 { self as i64 }
            #[inline] fn to_i128(self) -> i128 { self as i128 }
            #[inline] fn to_isize(self) -> isize { self as isize }
            #[inline] fn to_f32(self) -> f32 { self as f32 }
            #[inline] fn to_f64(self) -> f64 { self as f64 }
        })*
    };
}

impl_convert!(u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128, isize, f32, f64);