Expand description
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
Fnum::size_of_variant
method.