pub trait RestrictedMath {
    type Arg: 'static + Sized + Copy;
    type Value: 'static + Sized + Copy;

    // Required methods
    fn checked_add(
        &self,
        arg: Self::Arg
    ) -> Result<Restrict<Self::Value>, Self::Arg>;
    fn checked_sub(
        &self,
        arg: Self::Arg
    ) -> Result<Restrict<Self::Value>, Self::Arg>;
    fn checked_mul(
        &self,
        arg: Self::Arg
    ) -> Result<Restrict<Self::Value>, Self::Arg>;
}
Expand description

Common checked math operations for the Restrict type

Required Associated Types§

source

type Arg: 'static + Sized + Copy

Argument for the math operations

source

type Value: 'static + Sized + Copy

Return value, generally the same as Arg

Required Methods§

source

fn checked_add( &self, arg: Self::Arg ) -> Result<Restrict<Self::Value>, Self::Arg>

Checked addition, see usize::checked_add

source

fn checked_sub( &self, arg: Self::Arg ) -> Result<Restrict<Self::Value>, Self::Arg>

Checked subtraction, see usize::checked_sub

source

fn checked_mul( &self, arg: Self::Arg ) -> Result<Restrict<Self::Value>, Self::Arg>

Checked multiplication, see usize::checked_mul

Implementations on Foreign Types§

source§

impl<R, A> RestrictedMath for Result<R, A>where R: RestrictedMath, A: 'static + Sized + Copy,

§

type Arg = <R as RestrictedMath>::Arg

§

type Value = <R as RestrictedMath>::Value

source§

fn checked_add( &self, arg: Self::Arg ) -> Result<Restrict<Self::Value>, Self::Arg>

source§

fn checked_sub( &self, arg: Self::Arg ) -> Result<Restrict<Self::Value>, Self::Arg>

source§

fn checked_mul( &self, arg: Self::Arg ) -> Result<Restrict<Self::Value>, Self::Arg>

Implementors§