A set of procedural macros for deriving useful functionality on enums.
See the API docs for more information.
An efficient, configurable FromStr implementation for C-like enums.
#[derive(Debug,PartialEq, enum_utils::FromStr)]enumTest{Alpha,Beta,}assert_eq!("Alpha".parse(),Ok(Test::Alpha));assert_eq!("Beta".parse(),Ok(Test::Beta));A static method returning an iterator over the variants of an enum.
#[derive(Debug,PartialEq,Eq, enum_utils::IterVariants)]#[repr(u8)]pubenumDirection{North = 1,East,South,West,}useDirection::*;assert_eq!(Direction::iter().collect::<Vec<_>>(), vec![North,East,South,West]);TryFromRepr and ReprFrom
Conversion to and from the discriminant of a C-like enum.
use std::convert::TryInto;#[derive(Debug,Clone,Copy,PartialEq,Eq, enum_utils::ReprFrom, enum_utils::TryFromRepr)]#[repr(u8)]pubenumDirection{North = 1,East,South,West}useDirection::*;assert_eq!(1u8,North.into());assert_eq!(4u8,West.into());assert_eq!(North,1u8.try_into().unwrap());assert_eq!(West,4u8.try_into().unwrap());