Trait differential_dataflow::operators::arrange::ArrangeBySelf [] [src]

pub trait ArrangeBySelf<G: Scope, K: Data> {
    fn arrange_by_self<U: Unsigned + Default, KH: Fn(&K) -> U + 'static, Look: Lookup<K, Offset> + 'static, LookG: Fn(u64) -> Look>(&self, key_h: KH, look: LookG) -> Arranged<G, Count<K, G::Timestamp, Look>> where G::Timestamp: LeastUpperBound;
}

Arranges something as (Key,()) pairs, logically by Key.

This trait provides an optimized implementation of ArrangeByKey in which the underlying trace does not support dynamic numbers of values for each key, which saves on computation and memory.

Required Methods

fn arrange_by_self<U: Unsigned + Default, KH: Fn(&K) -> U + 'static, Look: Lookup<K, Offset> + 'static, LookG: Fn(u64) -> Look>(&self, key_h: KH, look: LookG) -> Arranged<G, Count<K, G::Timestamp, Look>> where G::Timestamp: LeastUpperBound

Arranges a stream of (Key, ())) updates by Key.

This operator produces a stream of values, but more important shares a trace it maintains. This trace is current for all times completed by the output stream, which can be used to safely identify the stable times and values in the trace.

Implementors