EnumerateOptNumbers

Trait EnumerateOptNumbers 

Source
pub trait EnumerateOptNumbers<T>
where Self: Sized + Iterator<Item = T>,
{ // Required method fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>; }
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§

Source

fn enumerate_option_numbers(self) -> EnumerateOptNumbersIter<T, Self>

Creates an iterator which gives the current Opt along with its Number.

use kwap_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)])

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, C: Array<Item = u8>, I: Iterator<Item = &'a Opt<C>>> EnumerateOptNumbers<&'a Opt<C>> for I

Source§

impl<C: Array<Item = u8>, I: Iterator<Item = Opt<C>>> EnumerateOptNumbers<Opt<C>> for I