Struct differential_dataflow::collection::basic::BasicTrace [] [src]

pub struct BasicTrace<K, T, V, L> { /* fields omitted */ }

A collection of values indexed by key and time.

A BasicTrace maintains a mapping from keys of type K to offsets into a vector of ListEntry structs, which are themselves linked-list entries of pairs of a time T and an offset into a TimeEntry struct, which wraps a Vec<(V, i32)>.

This trie structure is easy to update as new times arrive: the new data form a new TimeEntry, and any involved keys have elements added to their linked lists.

At the same time, its performance can degrade after large numbers of updates as the data associated with a given key becomes more and more diffuse. The trace also has no support for compaction.

Methods

impl<K: Eq, L: Lookup<K, Offset>, T, V> BasicTrace<K, T, V, L>
[src]

Allocates a new basic trace.

Trait Implementations

impl<K, V, L, T> Trace for BasicTrace<K, T, V, L> where
    K: Data,
    V: Data,
    L: Lookup<K, Offset> + 'static,
    T: Lattice + 'static, 
[src]

The data-parallel key.

Timestamp for changes to the collection.

Values associated with each key.

Introduces differences in accumulation at time.

Iterates over times and differences for a specified key.

Iterates over differences for a specified key and time.

Accumulates differences for key at times less than or equal to time. Read more

Populates stash with times for key, closes under least upper bound.

impl<'a, K, V, L, T> TraceRef<'a, K, T, V> for &'a BasicTrace<K, T, V, L> where
    K: Data + 'a,
    V: Data + 'a,
    L: Lookup<K, Offset> + 'a,
    T: Lattice + 'a, 
[src]

Iterator over references to values.

Iterator over times and VIterators.

Iterates over differences associated with the key.