Trait groupable::Groupable [] [src]

pub trait Groupable<K, V> {
    fn group<B: FromKeyedIterator<K, V>>(&mut self) -> B;
}

Conversion from an Iterator of pairs.

Required Methods

Loops through the entire iterator, grouping all keys into a container implementing FromKeyedIterator with a container of values per key. The values will be aggregated per key into a container implementing Extend for the value type.

Example

use std::collections::HashMap;
use groupable::Groupable;

let evens = (0..10).map(|i| (i % 2 == 0, i))
                   .group::<HashMap<bool, Vec<usize>>>();

assert_eq!(evens[&true], [0, 2, 4, 6, 8]);
assert_eq!(evens[&false], [1, 3, 5, 7, 9]);

Implementors