[−][src]Trait strum::IntoEnumIterator
This trait designates that an Enum
can be iterated over. It can
be auto generated using strum_macros
on your behalf.
Example
// You need to bring the type into scope to use it!!! use strum::IntoEnumIterator; #[derive(EnumIter,Debug)] enum Color { Red, Green { range:usize }, Blue(usize), Yellow, } // Iterate over the items in an enum and perform some function on them. fn generic_iterator<E, F>(pred: F) where E: IntoEnumIterator, F: Fn(E), { for e in E::iter() { pred(e) } } fn main() { generic_iterator::<Color, _>(|color| println!("{:?}", color)); }