Macro bit_struct::enums[][src]

macro_rules! enums {
    ($($(#[doc = $struct_doc : expr]) * $(#[derive($($struct_der : ident), +)]) ?
   $enum_vis : vis $name : ident
   {
       $(#[doc = $fst_field_doc : expr]) * $fst_field : ident
       $(, $(#[doc = $field_doc : expr]) * $field : ident) * $(,) ?
   }) *) => { ... };
}
Expand description

Create enums which have convenient TryFrom/From implementations. This makes using them with the bit_struct macro much easier.

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
    }

);