Macro bit_struct::bit_struct[][src]

macro_rules! bit_struct {
    ($($struct_vis : vis struct $name : ident($kind : ty)
   {
       $($field : ident($start : literal, $end : literal) : $actual : ty), *
       $(,) ?
   }) *) => { ... };
}
Expand description

Create a bit struct. Look at tests folder to see examples.

bit_struct::enums!(
    /// Mode
    Mode { Zero, One }
);

bit_struct::bit_struct!(
    struct Abc(u16){
        mode(15,15): Mode,
        count(1,5): u8,
    }

    struct FullCount(u16){
        count(0,15): u16,
    }

    struct TooManyBits(u16) {
        count(0,15): u8
    }

);