Crate collected[][src]

Expand description

Collection types that takes the maximum, the summation and more from iterators.

Every collection type in the crate implements FromIterator, Extend and Default traits. They can be built from collect(), and can be updated by extend().

For example, it makes it easy to compute maximum and minimum value from an iterator using unzip() in single step.

use collected::{MaxVal, MinVal};
let (min, max): (MinVal<_>, MaxVal<_>) = vec![3, 1, 5, 2, 4, 3, 6]
    .into_iter()
    .map(|val| (val, val))
    .unzip();
assert_eq!(min.unwrap(), 1);
assert_eq!(max.unwrap(), 6);

Structs

A collection that adds up values with Add trait.

A counter that counts witnessed items when collected or extended from an iterator.

A collection that takes the first item when collected or extended from an iterator.

A wrapper around a collection U that can only be collected or extended from an unique-valued iterator.

A wrapper around a collection U that can only be collected or extended from an unique-valued iterator.

A collection that groups the tuples (key, value) by key.

A collection that takes the last item when collected or extended from an iterator.

A wrapper around collection U that retains only last N values.

A collection that computes the maximum value.

A collection that computes the minimum value.

A collection that multiplies values with Mul trait.

A collection doing nothing when collected or extended from an iterator.

A collection taking the product from values with Product trait.

A collection taking the summation from values with Sum trait.

The collection that retains maximum K values.

A collection that takes unique values into a BTreeSet.

A collection that takes unique values into a HashSet.

A collection that takes unique values into a IndexSet.

A wrapper around a collection U that ignores duplicated values from iterator.

A wrapper around a collection U that ignores duplicated values from iterator.