Trait differential_dataflow::difference::IsZero

source ·
pub trait IsZero {
    // Required method
    fn is_zero(&self) -> bool;
}
Expand description

A type that can be an additive identity for all Semigroup implementations.

This method is extracted from Semigroup to avoid ambiguity when used. It refers exclusively to the type itself, and whether it will act as the identity in the course of Semigroup<Self>::plus_equals().

Required Methods§

source

fn is_zero(&self) -> bool

Returns true if the element is the additive identity.

This is primarily used by differential dataflow to know when it is safe to delete an update. When a difference accumulates to zero, the difference has no effect on any accumulation and can be removed.

A semigroup is not obligated to have a zero element, and this method could always return false in such a setting.

Implementations on Foreign Types§

source§

impl IsZero for i8

source§

fn is_zero(&self) -> bool

source§

impl IsZero for i16

source§

fn is_zero(&self) -> bool

source§

impl IsZero for i32

source§

fn is_zero(&self) -> bool

source§

impl IsZero for i64

source§

fn is_zero(&self) -> bool

source§

impl IsZero for i128

source§

fn is_zero(&self) -> bool

source§

impl IsZero for isize

source§

fn is_zero(&self) -> bool

source§

impl IsZero for u8

source§

fn is_zero(&self) -> bool

source§

impl IsZero for u16

source§

fn is_zero(&self) -> bool

source§

impl IsZero for u32

source§

fn is_zero(&self) -> bool

source§

impl IsZero for u64

source§

fn is_zero(&self) -> bool

source§

impl IsZero for u128

source§

fn is_zero(&self) -> bool

source§

impl IsZero for ()

source§

fn is_zero(&self) -> bool

source§

impl IsZero for usize

source§

fn is_zero(&self) -> bool

source§

impl IsZero for Wrapping<i8>

source§

fn is_zero(&self) -> bool

source§

impl IsZero for Wrapping<i16>

source§

fn is_zero(&self) -> bool

source§

impl IsZero for Wrapping<i32>

source§

fn is_zero(&self) -> bool

source§

impl IsZero for Wrapping<i64>

source§

fn is_zero(&self) -> bool

source§

impl IsZero for Wrapping<i128>

source§

fn is_zero(&self) -> bool

source§

impl IsZero for Wrapping<isize>

source§

fn is_zero(&self) -> bool

source§

impl<A1: IsZero> IsZero for (A1,)

source§

fn is_zero(&self) -> bool

source§

impl<A1: IsZero, B1: IsZero> IsZero for (A1, B1)

source§

fn is_zero(&self) -> bool

source§

impl<A1: IsZero, B1: IsZero, C1: IsZero> IsZero for (A1, B1, C1)

source§

fn is_zero(&self) -> bool

source§

impl<A1: IsZero, B1: IsZero, C1: IsZero, D1: IsZero> IsZero for (A1, B1, C1, D1)

source§

fn is_zero(&self) -> bool

source§

impl<R: IsZero> IsZero for Vec<R>

source§

fn is_zero(&self) -> bool

Implementors§