[−][src]Crate fnum
Fnum is an utility trait for enum, that provides Fnum::size_of_variant
method.
Fnum::size_of_variant
returns the minimum size that specified variant requiring.
use fnum::Fnum; #[derive(Fnum)] enum MyEnum { A(u64), B(String), C(u64, u32, u32, u32), D { foo: u32, bar: String, } } assert_eq!(MyEnum::size_of_variant(0), 16); // bytes required by `MyEnum::A(..)` assert_eq!(MyEnum::size_of_variant(1), 32); // bytes required by `MyEnum::B(..)` assert_eq!(MyEnum::size_of_variant(2), 24); // bytes required by `MyEnum::C(..)` assert_eq!(MyEnum::size_of_variant(3), 32); // bytes required by `MyEnum::D{..}`
Structs
__Lazy | A value which is initialized on the first access. |
Traits
Fnum | Fnum trait providing |
Derive Macros
Fnum |