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

AddVal

A collection that adds up values with Add trait.

FromUniqueHash

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

FromUniqueOrd

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

GroupHashMap

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

LastN

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

MaxVal

A collection that computes the maximum value.

MinVal

A collection that computes the minimum value.

MulVal

A collection that multiplies values with Mul trait.

ProductVal

A collection taking the product from values with Product trait.

SumVal

A collection taking the summation from values with Sum trait.

TopK

The collection that retains maximum K values.

UniqueBTreeSet

A collection that takes unique values into a BTreeSet.

UniqueHashSet

A collection that takes unique values into a HashSet.

UniqueIndexSet

A collection that takes unique values into a IndexSet.

UniquifyHash

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

UniquifyOrd

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