differential_dogs3::operators::propose

Function propose_distinct

Source
pub fn propose_distinct<G, Tr, K, F, P, V>(
    prefixes: &Collection<G, P, Tr::Diff>,
    arrangement: Arranged<G, Tr>,
    key_selector: F,
) -> Collection<G, (P, V), Tr::Diff>
where G: Scope<Timestamp = Tr::Time>, Tr: TraceReader + Clone + 'static, for<'a> Tr::Key<'a>: IntoOwned<'a, Owned = K>, for<'a> Tr::Diff: Semigroup<Tr::DiffGat<'a>> + Monoid + Multiply<Output = Tr::Diff> + ExchangeData, K: Hashable + Default + Ord + 'static, F: Fn(&P) -> K + Clone + 'static, P: ExchangeData, V: Clone + 'static, for<'a> Tr::Val<'a>: IntoOwned<'a, Owned = V>,
Expand description

Proposes distinct extensions to a prefix stream.

Unlike propose, this method does not scale the multiplicity of matched prefixes by the number of matches in arrangement. This can be useful to avoid the need to prepare an arrangement of distinct extensions.