Trait kwap_msg::alloc::EnumerateOptNumbers [−][src]
pub trait EnumerateOptNumbers<T: GetOptDelta>: Iterator<Item = T> where
Self: Sized, {
fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>ⓘNotable traits for EnumerateOptNumbersIter<T, I>impl<T: GetOptDelta, I: Iterator<Item = T>> Iterator for EnumerateOptNumbersIter<T, I> type Item = (OptNumber, T);;
}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
fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>ⓘNotable traits for EnumerateOptNumbersIter<T, I>impl<T: GetOptDelta, I: Iterator<Item = T>> Iterator for EnumerateOptNumbersIter<T, I> type Item = (OptNumber, T);
fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>ⓘNotable traits for EnumerateOptNumbersIter<T, I>impl<T: GetOptDelta, I: Iterator<Item = T>> Iterator for EnumerateOptNumbersIter<T, I> type Item = (OptNumber, T);
Notable traits for EnumerateOptNumbersIter<T, I>
impl<T: GetOptDelta, I: Iterator<Item = T>> Iterator for EnumerateOptNumbersIter<T, I> type Item = (OptNumber, T);Creates an iterator which gives the current Opt along with its Number.
use kwap_msg::alloc::*;
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)])