Trait differential_dataflow::trace::layers::Trie [−][src]
A collection of tuples, and types for building and enumerating them.
There are some implicit assumptions about the elements in trie-structured data, mostly that
the items have some (key, val)
structure. Perhaps we will nail these down better in the
future and get a better name for the trait.
Associated Types
type Item
[src]
The type of item from which the type is constructed.
type Cursor: Cursor<Self>
[src]
The type of cursor used to navigate the type.
type MergeBuilder: MergeBuilder<Trie = Self>
[src]
The type used to merge instances of the type together.
type TupleBuilder: TupleBuilder<Trie = Self, Item = Self::Item>
[src]
The type used to assemble instances of the type from its Item
s.
Required methods
fn keys(&self) -> usize
[src]
The number of distinct keys, as distinct from the total number of tuples.
fn tuples(&self) -> usize
[src]
The total number of tuples in the collection.
fn cursor_from(&self, lower: usize, upper: usize) -> Self::Cursor
[src]
Returns a cursor over a range of data, commonly used by others to restrict navigation to sub-collections.
Provided methods
fn cursor(&self) -> Self::Cursor
[src]
Returns a cursor capable of navigating the collection.
fn merge(&self, other: &Self) -> Self
[src]
Merges two collections into a third.
Collections are allowed their own semantics for merging. For example, unordered collections simply collect values, whereas weighted collections accumulate weights and discard elements whose weights are zero.
Implementors
impl<K, L, O> Trie for OrderedLayer<K, L, O> where
K: Ord + Clone,
L: Trie,
O: OrdOffset,
<O as TryFrom<usize>>::Error: Debug,
<O as TryInto<usize>>::Error: Debug,
[src]
K: Ord + Clone,
L: Trie,
O: OrdOffset,
<O as TryFrom<usize>>::Error: Debug,
<O as TryInto<usize>>::Error: Debug,