-
Notifications
You must be signed in to change notification settings - Fork 150
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);
}