[][src]Struct differential_dataflow::trace::layers::hashed::HashedBuilder

pub struct HashedBuilder<K: HashOrdered, L> {
    pub keys: Vec<Entry<K>>,
    pub vals: L,
    // some fields omitted
}

Assembles a layer of this

Fields

keys: Vec<Entry<K>>

Entries in the hash map.

vals: L

A builder for the layer below.

Trait Implementations

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

type Trie = HashedLayer<K, L::Trie>

The type of collection produced.

fn boundary(&mut self) -> usize[src]

Looks at the contents of self.temp and extends self.keys appropriately.

This is where the "hash map" structure is produced. Up until this point, all (key, usize) pairs were committed to self.temp, where they awaited layout. That now happens here.

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: HashOrdered + Clone + Default, L: TupleBuilder> TupleBuilder for HashedBuilder<K, L>[src]

type Item = (K, L::Item)

The type of item accepted for construction.

Auto Trait Implementations

impl<K, L> Send for HashedBuilder<K, L> where
    K: Send,
    L: Send

impl<K, L> Sync for HashedBuilder<K, L> where
    K: Sync,
    L: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.