Struct Ratio

pub struct Ratio { pub num: usize, pub den: usize }

Simple ratio structure since stdlib lacks one.

Fields

num: usize

Numerator.

den: usize

Denominator.

Implementations

impl Ratio

fn new(num: usize, den: usize) -> Ratio

Create a new ratio.

fn parse(value: &[u8]) -> Result<Ratio, Error>

Parse a ratio from a byte slice.

Trait Implementations

impl Clone for Ratio

fn clone(&self) -> Ratio

impl Copy for Ratio

impl Debug for Ratio

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Display for Ratio

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl Freeze for Ratio

impl RefUnwindSafe for Ratio

impl Send for Ratio

impl Sync for Ratio

impl Unpin for Ratio

impl UnsafeUnpin for Ratio

impl UnwindSafe for Ratio

Blanket Implementations

impl<T> Any for Ratio where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Ratio where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Ratio where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Ratio where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Ratio

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for Ratio where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T> ToString for Ratio where T: Display + ?Sized,

fn to_string(&self) -> String

impl<T, U> Into<U> for Ratio where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Ratio where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for Ratio where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>