# enum2repr [github](https://github.com/matthewjberger/enum2repr) [crates.io](https://crates.io/crates/enum2repr) [docs.rs](https://docs.rs/enum2repr) enum2repr is a rust derive macro that creates conversion methods to map between a value and an enum. Numeric types supported by `#[repr(T)]` are supported by enum2repr. ## Usage Add this to your `Cargo.toml`: ```toml enum2repr = "0.1.14" ``` Example: ```rust use enum2repr::EnumRepr; #[derive(EnumRepr, Debug, PartialEq, Copy, Clone)] #[repr(u16)] enum Color { Red = 0x04, Green = 0x15, Blue = 0x34, } #[test] fn convert_variants() { assert_eq!(Ok(Color::Red), Color::try_from(0x04)); assert_eq!(Ok(Color::Green), Color::try_from(0x15)); assert_eq!(Ok(Color::Blue), Color::try_from(0x34)); } #[test] fn convert_variants_back() { assert_eq!(u16::from(Color::Red), 0x04); assert_eq!(u16::from(Color::Green), 0x15); assert_eq!(u16::from(Color::Blue), 0x34); } ```