[][src]Trait differential_dataflow::trace::layers::MergeBuilder

pub trait MergeBuilder: Builder {
    fn with_capacity(other1: &Self::Trie, other2: &Self::Trie) -> Self;
fn copy_range(&mut self, other: &Self::Trie, lower: usize, upper: usize);
fn push_merge(
        &mut self,
        other1: (&Self::Trie, usize, usize),
        other2: (&Self::Trie, usize, usize)
    ) -> usize; }

A type used to assemble collections by merging other instances.

Required methods

fn with_capacity(other1: &Self::Trie, other2: &Self::Trie) -> Self

Allocates an instance of the builder with sufficient capacity to contain the merged data.

fn copy_range(&mut self, other: &Self::Trie, lower: usize, upper: usize)

Copies sub-collections of other into this collection.

fn push_merge(
    &mut self,
    other1: (&Self::Trie, usize, usize),
    other2: (&Self::Trie, usize, usize)
) -> usize

Merges two sub-collections into one sub-collection.

Loading content...

Implementors

impl<K: HashOrdered + Clone + Default, L: MergeBuilder> MergeBuilder for HashedBuilder<K, L>[src]

fn copy_range(&mut self, other: &Self::Trie, lower: usize, upper: usize)[src]

Copies fully formed ranges (note plural) of keys from another trie.

While the ranges are fully formed, the offsets in them are relative to the other trie, and must be corrected. These keys must be moved immediately to self.keys, as there is no info about boundaries between them, and we are unable to lay out the info any differently.

impl<K: Ord + Clone, L: MergeBuilder> MergeBuilder for OrderedBuilder<K, L>[src]

impl<K: Ord + Clone, R: Monoid + Clone> MergeBuilder for OrderedLeafBuilder<K, R>[src]

Loading content...