[−][src]Trait riven::consts::IntoEnumIterator
Trait allowing iteration of enum types, implemented by several enums in this module. Re-exported from strum.
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, } // Iterating over any enum requires 2 type parameters // A 3rd is used in this example to allow passing a predicate fn generic_iterator<E, I, F>(pred: F) where E: IntoEnumIterator<Iterator=I>, I: Iterator<Item=E>, F: Fn(E) { for e in E::iter() { pred(e) } } fn main() { generic_iterator::<Color,_, _>(|color| println!("{:?}", color)); }
Associated Types
type Iterator
Required methods
Loading content...Implementors
impl IntoEnumIterator for Champion
[src]
type Iterator = ChampionIter
fn iter() -> ChampionIter
[src]
impl IntoEnumIterator for Division
[src]
Returns a DoubleEndedIterator of I, II, III, IV. Ordered from high rank (I) to low (IV). Excludes V, which is deprecated.
impl IntoEnumIterator for Tier
[src]
Returns a DoubleEndedIterator of I, II, III, IV. Ordered from high rank (I) to low (IV). Excludes V, which is deprecated.