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

pub struct HashedLayer<K: HashOrdered, L> {
    pub keys: Vec<Entry<K>>,
    pub vals: L,
}

A level of the trie, with keys and offsets into a lower layer.

If keys[i].1 == 0 then entry i should be ignored. This is our version of Option<(K, usize)>, which comes at the cost of requiring K: Default to populate empty keys.

Each region of this layer is an independent immutable RHH map, whose size should equal something like (1 << i) + i for some value of i. The first (1 << i) elements are where we expect to find keys, and the remaining i are for spill-over due to collisions near the end of the first region.

We might do something like "if X or fewer elements, just use an ordered list".

Fields

Keys and offsets for the keys.

A lower layer containing ranges of values.

Trait Implementations

impl<K: Debug + HashOrdered, L: Debug> Debug for HashedLayer<K, L>
[src]

[src]

Formats the value using the given formatter.

impl<K: Clone + HashOrdered + Default, L: Trie> Trie for HashedLayer<K, L>
[src]

The type of item from which the type is constructed.

The type of cursor used to navigate the type.

The type used to merge instances of the type together.

The type used to assemble instances of the type from its Items.

[src]

The number of distinct keys, as distinct from the total number of tuples.

[src]

The total number of tuples in the collection.

[src]

Returns a cursor over a range of data, commonly used by others to restrict navigation to sub-collections. Read more

[src]

Returns a cursor capable of navigating the collection.

[src]

Merges two collections into a third. Read more