Trait num::traits::Zero [-] [+] [src]

pub trait Zero: Add<Self, Output=Self> {
    fn zero() -> Self;
    fn is_zero(&self) -> bool;
}

Defines an additive identity element for Self.

Deriving

This trait can be automatically be derived using #[deriving(Zero)] attribute. If you choose to use this, make sure that the laws outlined in the documentation for Zero::zero still hold.

Required Methods

fn zero() -> Self

Returns the additive identity element of Self, 0.

Laws

a + 0 = a       ∀ a ∈ Self
0 + a = a       ∀ a ∈ Self

Purity

This function should return the same result at all times regardless of external mutable state, for example values stored in TLS or in static muts.

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.

Implementors