Expand description
§Example
use bitfi::bitfield;
bitfield! {
Flags = u16 {
on: 0;
field1: 1 ..= 3;
}
}
let mut flags = Flags::default();
assert!(!flags.get_on());
flags.set_on();
assert!(flags.get_on());
assert_eq!(flags.get_field1(), 0);
flags.set_field1(0b101);
assert_eq!(flags.get_field1(), 0b101);
assert_eq!(flags.get_inner(), 0b1011, "{:b} {:b}", flags.get_inner(), 0b1011);Modules§
- helper_
traits - Helper traits: One Zero and BitSize
Macros§
- bitfield
- Declares a bitfield
- impl_
bitsize - Implements BitSize for a type, given it’s number of bytes
Traits§
- BitField
- Defines methods for bit-field manipulation