Trait differential_dataflow::trace::Merger
source · pub trait Merger<K, V, T, R, Output: Batch<K, V, T, R>> {
fn new(source1: &Output, source2: &Output) -> Self;
fn work(
&mut self,
source1: &Output,
source2: &Output,
frontier: &Option<Vec<T>>,
fuel: &mut usize
);
fn done(self) -> Output;
}Expand description
Represents a merge in progress.
Required Methods
sourcefn new(source1: &Output, source2: &Output) -> Self
fn new(source1: &Output, source2: &Output) -> Self
Creates a new merger to merge the supplied batches.
Implementors
impl<K, T, R> Merger<K, (), T, R, OrdKeyBatch<K, T, R>> for OrdKeyMerger<K, T, R>where
K: Ord + Clone + 'static,
T: Lattice + Ord + Clone + 'static,
R: Diff,
impl<K, V, T, R> Merger<K, V, T, R, OrdValBatch<K, V, T, R>> for OrdValMerger<K, V, T, R>where
K: Ord + Clone + 'static,
V: Ord + Clone + 'static,
T: Lattice + Ord + Clone + Debug + 'static,
R: Diff,
impl<K, V, T, R, B: Batch<K, V, T, R> + Abomonation> Merger<K, V, T, R, Abomonated<B, Vec<u8, Global>>> for AbomonatedMerger<K, V, T, R, B>
Represents a merge in progress.
impl<K, V, T, R, B: Batch<K, V, T, R>> Merger<K, V, T, R, Rc<B>> for RcMerger<K, V, T, R, B>
Represents a merge in progress.