Trait toad_msg::EnumerateOptNumbers
source · [−]pub trait EnumerateOptNumbers<T>where
Self: Sized + Iterator<Item = T>,{
fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>ⓘNotable traits for EnumerateOptNumbersIter<Opt<C>, I>impl<C: Array<Item = u8>, I: Iterator<Item = Opt<C>>> Iterator for EnumerateOptNumbersIter<Opt<C>, I> type Item = (OptNumber, Opt<C>);impl<'a, C: Array<Item = u8>, I: Iterator<Item = &'a Opt<C>>> Iterator for EnumerateOptNumbersIter<&'a Opt<C>, I> type Item = (OptNumber, &'a Opt<C>);
;
}
Expand description
Creates an iterator which gives the current opt’s number as well as the option.
The iterator returned yields pairs (i, val)
, where i
is the OptNumber
and val
is the Opt returned by the iterator.
Required Methods
sourcefn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>ⓘNotable traits for EnumerateOptNumbersIter<Opt<C>, I>impl<C: Array<Item = u8>, I: Iterator<Item = Opt<C>>> Iterator for EnumerateOptNumbersIter<Opt<C>, I> type Item = (OptNumber, Opt<C>);impl<'a, C: Array<Item = u8>, I: Iterator<Item = &'a Opt<C>>> Iterator for EnumerateOptNumbersIter<&'a Opt<C>, I> type Item = (OptNumber, &'a Opt<C>);
fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>ⓘNotable traits for EnumerateOptNumbersIter<Opt<C>, I>impl<C: Array<Item = u8>, I: Iterator<Item = Opt<C>>> Iterator for EnumerateOptNumbersIter<Opt<C>, I> type Item = (OptNumber, Opt<C>);impl<'a, C: Array<Item = u8>, I: Iterator<Item = &'a Opt<C>>> Iterator for EnumerateOptNumbersIter<&'a Opt<C>, I> type Item = (OptNumber, &'a Opt<C>);
Creates an iterator which gives the current Opt along with its Number.
use toad_msg::*;
let opt_a = Opt { delta: OptDelta(12),
value: OptValue(Vec::new()) };
let opt_b = Opt { delta: OptDelta(2),
value: OptValue(Vec::new()) };
let opts = vec![opt_a.clone(), opt_b.clone()];
let opt_ns = opts.into_iter()
.enumerate_option_numbers()
.collect::<Vec<_>>();
assert_eq!(opt_ns, vec![(OptNumber(12), opt_a), (OptNumber(14), opt_b)])