# c-enum

A rust macro for easily defining structs that act like C enums.

- Documentation
- Release Notes

# Example

    use c_enum::c_enum;

    c_enum! {
        #[derive(Copy, Clone, PartialEq, Eq, Ord, PartialOrd, Hash)]
        pub enum Variant: u32 {
            A,
            B,
            C = 5,
        }
    }

    fn main() {
        let v1 = Variant::A;
        let v2 = Variant::from(77);

        match v1 {
            Variant::A => println!("A"),   // named values...
            Variant::B => println!("B"),
            Variant(77) => println!("77"), // values without named variants also work
            _ => println!("other value"),
        }
    }