Accumulator

Trait Accumulator 

Source
pub trait Accumulator<ValAccum, ValIn> {
    // Required method
    fn accumulate<Key>(&mut self, entry: Entry<'_, Key, ValAccum>, item: ValIn);
}
Expand description

Generalization of fold, reduce, etc.

Required Methods§

Source

fn accumulate<Key>(&mut self, entry: Entry<'_, Key, ValAccum>, item: ValIn)

Accumulates a value into an either occupied or vacant table entry.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<InitFn, FoldFn, Accum, Item> Accumulator<Accum, Item> for Fold<InitFn, FoldFn>
where InitFn: Fn() -> Accum, FoldFn: Fn(&mut Accum, Item),

Source§

impl<InitFn, FoldFn, Accum, Item> Accumulator<Accum, Item> for FoldFrom<InitFn, FoldFn>
where InitFn: Fn(Item) -> Accum, FoldFn: Fn(&mut Accum, Item),

Source§

impl<ReduceFn, Item> Accumulator<Item, Item> for Reduce<ReduceFn>
where ReduceFn: Fn(&mut Item, Item),