Macro bit_struct::enums [−][src]
macro_rules! enums {
($($(#[doc = $struct_doc : expr]) * $(#[derive($($struct_der : ident), +)]) ?
$enum_vis : vis enum $name : ident
{
$($(#[doc = $field_doc : expr]) * $field : ident = $value : literal), *
$(,) ?
}) *) => { ... };
}Expand description
Create enums which have convenient TryFrom/From implementations. This makes using them with the bit_struct macro much easier.
enums!(
/// Mode
#[derive(Debug, PartialOrd, PartialEq)]
enum Mode {
/// zero
Zero = 0b0,
/// one
One = 0b1,
}
);
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
}
);