Trait array_tool::iter::ZipOpt [] [src]

pub trait ZipOpt {
    fn zip_option<U>(self, other: U) -> ZipOption<Self, U::IntoIter>
    where
        Self: Sized,
        U: IntoIterator
; }

Zips to iterators together to the longest length via Option<(Option, Option)>

Required Methods

Zip to iterators to longest length via Option<(Option, Option)> results.

Example

use array_tool::iter::ZipOpt;

let a = vec!["a","b","c", "d"];
let b = vec!["c","d"];
let mut x = a.iter().zip_option(b.iter());

assert_eq!(x.next(), Some((Some(&"a"), Some(&"c"))));
assert_eq!(x.next(), Some((Some(&"b"), Some(&"d"))));
assert_eq!(x.next(), Some((Some(&"c"), None)));
assert_eq!(x.next(), Some((Some(&"d"), None)));
assert_eq!(x.next(), None);

Output

vec![ "a", "b", "c", "d" ]

Implementors