Trait differential_dataflow::trace::cursor::Cursor [] [src]

pub trait Cursor<K, V, T, R> {
    type Storage;
    fn key_valid(&self, storage: &Self::Storage) -> bool;
fn val_valid(&self, storage: &Self::Storage) -> bool;
fn key<'a>(&self, storage: &'a Self::Storage) -> &'a K;
fn val<'a>(&self, storage: &'a Self::Storage) -> &'a V;
fn map_times<L: FnMut(&T, R)>(&mut self, storage: &Self::Storage, logic: L);
fn step_key(&mut self, storage: &Self::Storage);
fn seek_key(&mut self, storage: &Self::Storage, key: &K);
fn step_val(&mut self, storage: &Self::Storage);
fn seek_val(&mut self, storage: &Self::Storage, val: &V);
fn rewind_keys(&mut self, storage: &Self::Storage);
fn rewind_vals(&mut self, storage: &Self::Storage); fn get_key<'a>(&self, storage: &'a Self::Storage) -> Option<&'a K> { ... }
fn get_val<'a>(&self, storage: &'a Self::Storage) -> Option<&'a V> { ... } }

A cursor for navigating ordered (key, val, time, diff) updates.

Associated Types

Type the cursor addresses data in.

Required Methods

Indicates if the current key is valid.

A value of false indicates that the cursor has exhausted all keys.

Indicates if the current value is valid.

A value of false indicates that the cursor has exhausted all values for this key.

A reference to the current key. Asserts if invalid.

A reference to the current value. Asserts if invalid.

Applies logic to each pair of time and difference. Intended for mutation of the closure's scope.

Advances the cursor to the next key. Indicates if the key is valid.

Advances the cursor to the specified key. Indicates if the key is valid.

Advances the cursor to the next value. Indicates if the value is valid.

Advances the cursor to the specified value. Indicates if the value is valid.

Rewinds the cursor to the first key.

Rewinds the cursor to the first value for current key.

Provided Methods

Returns a reference to the current key, if valid.

Returns a reference to the current value, if valid.

Implementors