-
Notifications
You must be signed in to change notification settings - Fork 180
Derive EnumCount
Peter Glotfelty edited this page Aug 18, 2019
·
1 revision
For a given enum generates implementation of strum::EnumCount,
which returns number of variants via strum::EnumCount::count method,
also for given enum MyEnum generates const MYENUM_COUNT: usize
which gives the same value as strum::EnumCount (which is usefull for array sizes, etc.).
extern crate strum;
#[macro_use]
extern crate strum_macros;
use strum::{IntoEnumIterator, EnumCount};
#[derive(Debug, EnumCount, EnumIter)]
enum Week {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
}
fn main() {
assert_eq!(7, Week::count());
assert_eq!(Week::count(), WEEK_COUNT);
assert_eq!(Week::iter().count(), WEEK_COUNT);
}