[][src]Trait fnum::Fnum

pub trait Fnum {
    pub fn variant_count() -> usize;
pub fn variant_index(&self) -> usize;
pub unsafe fn uninit_variant(idx: usize) -> Self;
pub fn size_of_variant(idx: usize) -> usize; }

Fnum trait providing Fnum::size_of_variant method.

Required methods

pub fn variant_count() -> usize[src]

Returns the number of variants the enum has.

pub fn variant_index(&self) -> usize[src]

Returns the index of variant.

#[derive(Fnum)]
enum MyEnum {
    FIrst,
    Second,
}

assert_eq!(MyEnum::First.variant_index(), 0);
assert_eq!(MyEnum::Second.variant_index(), 1);

pub unsafe fn uninit_variant(idx: usize) -> Self[src]

Create an enum value that has uninitialized fields.

DO NOT drop the returned value, use std::mem::forget.

pub fn size_of_variant(idx: usize) -> usize[src]

Returns the minimum size that specified variant requiring.

Loading content...

Implementors

Loading content...