Trait struct_gen::Zero[][src]

pub trait Zero {
    type Item;
    fn zoor() -> Self::Item;
}

Zero is a trait for defining the zoor method, zero-or-override, defining a method that returns the default/zero value for a given type.

Zero

The Zero trait defines a way for a type to return the zero, or default, value of itself. This is used within the struct_gen! macro's constructor generation method to construct a base struct type with default values. Ultimately, there will be a way to take an input and override these values, but for now only a default is implemented.

In order for a user to make a custom type compatible with the struct_gen! macro, they will need to implement this trait -- done easily with the impl_zero! macro.

Associated Types

The Item here will be defined to be the same type as the trait that is implementing it.

Required Methods

zoor stands for zero or overide

Implementations on Foreign Types

impl Zero for bool
[src]

impl Zero for char
[src]

impl Zero for i8
[src]

impl Zero for i16
[src]

impl Zero for i32
[src]

impl Zero for i64
[src]

impl Zero for isize
[src]

impl Zero for u8
[src]

impl Zero for u16
[src]

impl Zero for u32
[src]

impl Zero for u64
[src]

impl Zero for usize
[src]

impl Zero for f32
[src]

impl Zero for f64
[src]

impl Zero for String
[src]

impl<'a> Zero for &'a str
[src]

impl<'a, T> Zero for &'a [T]
[src]

impl<T> Zero for Vec<T>
[src]

impl Zero for [bool; 0]
[src]

impl Zero for [char; 0]
[src]

impl Zero for [i8; 0]
[src]

impl Zero for [i16; 0]
[src]

impl Zero for [i32; 0]
[src]

impl Zero for [i64; 0]
[src]

impl Zero for [isize; 0]
[src]

impl Zero for [u8; 0]
[src]

impl Zero for [u16; 0]
[src]

impl Zero for [u32; 0]
[src]

impl Zero for [u64; 0]
[src]

impl Zero for [usize; 0]
[src]

impl Zero for [f32; 0]
[src]

impl Zero for [f64; 0]
[src]

impl Zero for [bool; 1]
[src]

impl Zero for [char; 1]
[src]

impl Zero for [i8; 1]
[src]

impl Zero for [i16; 1]
[src]

impl Zero for [i32; 1]
[src]

impl Zero for [i64; 1]
[src]

impl Zero for [isize; 1]
[src]

impl Zero for [u8; 1]
[src]

impl Zero for [u16; 1]
[src]

impl Zero for [u32; 1]
[src]

impl Zero for [u64; 1]
[src]

impl Zero for [usize; 1]
[src]

impl Zero for [f32; 1]
[src]

impl Zero for [f64; 1]
[src]

impl Zero for [bool; 2]
[src]

impl Zero for [char; 2]
[src]

impl Zero for [i8; 2]
[src]

impl Zero for [i16; 2]
[src]

impl Zero for [i32; 2]
[src]

impl Zero for [i64; 2]
[src]

impl Zero for [isize; 2]
[src]

impl Zero for [u8; 2]
[src]

impl Zero for [u16; 2]
[src]

impl Zero for [u32; 2]
[src]

impl Zero for [u64; 2]
[src]

impl Zero for [usize; 2]
[src]

impl Zero for [f32; 2]
[src]

impl Zero for [f64; 2]
[src]

impl Zero for [bool; 3]
[src]

impl Zero for [char; 3]
[src]

impl Zero for [i8; 3]
[src]

impl Zero for [i16; 3]
[src]

impl Zero for [i32; 3]
[src]

impl Zero for [i64; 3]
[src]

impl Zero for [isize; 3]
[src]

impl Zero for [u8; 3]
[src]

impl Zero for [u16; 3]
[src]

impl Zero for [u32; 3]
[src]

impl Zero for [u64; 3]
[src]

impl Zero for [usize; 3]
[src]

impl Zero for [f32; 3]
[src]

impl Zero for [f64; 3]
[src]

impl Zero for [bool; 4]
[src]

impl Zero for [char; 4]
[src]

impl Zero for [i8; 4]
[src]

impl Zero for [i16; 4]
[src]

impl Zero for [i32; 4]
[src]

impl Zero for [i64; 4]
[src]

impl Zero for [isize; 4]
[src]

impl Zero for [u8; 4]
[src]

impl Zero for [u16; 4]
[src]

impl Zero for [u32; 4]
[src]

impl Zero for [u64; 4]
[src]

impl Zero for [usize; 4]
[src]

impl Zero for [f32; 4]
[src]

impl Zero for [f64; 4]
[src]

impl Zero for [bool; 5]
[src]

impl Zero for [char; 5]
[src]

impl Zero for [i8; 5]
[src]

impl Zero for [i16; 5]
[src]

impl Zero for [i32; 5]
[src]

impl Zero for [i64; 5]
[src]

impl Zero for [isize; 5]
[src]

impl Zero for [u8; 5]
[src]

impl Zero for [u16; 5]
[src]

impl Zero for [u32; 5]
[src]

impl Zero for [u64; 5]
[src]

impl Zero for [usize; 5]
[src]

impl Zero for [f32; 5]
[src]

impl Zero for [f64; 5]
[src]

impl Zero for [bool; 6]
[src]

impl Zero for [char; 6]
[src]

impl Zero for [i8; 6]
[src]

impl Zero for [i16; 6]
[src]

impl Zero for [i32; 6]
[src]

impl Zero for [i64; 6]
[src]

impl Zero for [isize; 6]
[src]

impl Zero for [u8; 6]
[src]

impl Zero for [u16; 6]
[src]

impl Zero for [u32; 6]
[src]

impl Zero for [u64; 6]
[src]

impl Zero for [usize; 6]
[src]

impl Zero for [f32; 6]
[src]

impl Zero for [f64; 6]
[src]

impl Zero for [bool; 7]
[src]

impl Zero for [char; 7]
[src]

impl Zero for [i8; 7]
[src]

impl Zero for [i16; 7]
[src]

impl Zero for [i32; 7]
[src]

impl Zero for [i64; 7]
[src]

impl Zero for [isize; 7]
[src]

impl Zero for [u8; 7]
[src]

impl Zero for [u16; 7]
[src]

impl Zero for [u32; 7]
[src]

impl Zero for [u64; 7]
[src]

impl Zero for [usize; 7]
[src]

impl Zero for [f32; 7]
[src]

impl Zero for [f64; 7]
[src]

impl Zero for [bool; 8]
[src]

impl Zero for [char; 8]
[src]

impl Zero for [i8; 8]
[src]

impl Zero for [i16; 8]
[src]

impl Zero for [i32; 8]
[src]

impl Zero for [i64; 8]
[src]

impl Zero for [isize; 8]
[src]

impl Zero for [u8; 8]
[src]

impl Zero for [u16; 8]
[src]

impl Zero for [u32; 8]
[src]

impl Zero for [u64; 8]
[src]

impl Zero for [usize; 8]
[src]

impl Zero for [f32; 8]
[src]

impl Zero for [f64; 8]
[src]

impl Zero for [bool; 9]
[src]

impl Zero for [char; 9]
[src]

impl Zero for [i8; 9]
[src]

impl Zero for [i16; 9]
[src]

impl Zero for [i32; 9]
[src]

impl Zero for [i64; 9]
[src]

impl Zero for [isize; 9]
[src]

impl Zero for [u8; 9]
[src]

impl Zero for [u16; 9]
[src]

impl Zero for [u32; 9]
[src]

impl Zero for [u64; 9]
[src]

impl Zero for [usize; 9]
[src]

impl Zero for [f32; 9]
[src]

impl Zero for [f64; 9]
[src]

impl Zero for [bool; 10]
[src]

impl Zero for [char; 10]
[src]

impl Zero for [i8; 10]
[src]

impl Zero for [i16; 10]
[src]

impl Zero for [i32; 10]
[src]

impl Zero for [i64; 10]
[src]

impl Zero for [isize; 10]
[src]

impl Zero for [u8; 10]
[src]

impl Zero for [u16; 10]
[src]

impl Zero for [u32; 10]
[src]

impl Zero for [u64; 10]
[src]

impl Zero for [usize; 10]
[src]

impl Zero for [f32; 10]
[src]

impl Zero for [f64; 10]
[src]

Implementors