linq 0.0.1-release

Language Integrated Query in Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pub fn single<I: Iterator>(mut iter: I) -> Option<I::Item> {
    match iter.next() {
        Some(item) => {
            if iter.next().is_none() {
                Some(item)
            } else {
                None
            }
        }
        None => None,
    }
}

pub fn contains<I: Iterator<Item = V>, V: Eq>(mut iter: I, value: &V) -> bool {
    iter.any(|item| &item == value)
}