Trait differential_dataflow::trace::cursor::Cursor
source · pub trait Cursor<K, V, T, R> {
type Storage;
Show 13 methods
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> { ... }
}Expand description
A cursor for navigating ordered (key, val, time, diff) updates.
Required Associated Types
Required Methods
sourcefn key_valid(&self, storage: &Self::Storage) -> bool
fn key_valid(&self, storage: &Self::Storage) -> bool
Indicates if the current key is valid.
A value of false indicates that the cursor has exhausted all keys.
sourcefn val_valid(&self, storage: &Self::Storage) -> bool
fn val_valid(&self, storage: &Self::Storage) -> bool
Indicates if the current value is valid.
A value of false indicates that the cursor has exhausted all values for this key.
sourcefn key<'a>(&self, storage: &'a Self::Storage) -> &'a K
fn key<'a>(&self, storage: &'a Self::Storage) -> &'a K
A reference to the current key. Asserts if invalid.
sourcefn val<'a>(&self, storage: &'a Self::Storage) -> &'a V
fn val<'a>(&self, storage: &'a Self::Storage) -> &'a V
A reference to the current value. Asserts if invalid.
sourcefn map_times<L: FnMut(&T, R)>(&mut self, storage: &Self::Storage, logic: L)
fn map_times<L: FnMut(&T, R)>(&mut self, storage: &Self::Storage, logic: L)
Applies logic to each pair of time and difference. Intended for mutation of the
closure’s scope.
sourcefn step_key(&mut self, storage: &Self::Storage)
fn step_key(&mut self, storage: &Self::Storage)
Advances the cursor to the next key. Indicates if the key is valid.
sourcefn seek_key(&mut self, storage: &Self::Storage, key: &K)
fn seek_key(&mut self, storage: &Self::Storage, key: &K)
Advances the cursor to the specified key. Indicates if the key is valid.
sourcefn step_val(&mut self, storage: &Self::Storage)
fn step_val(&mut self, storage: &Self::Storage)
Advances the cursor to the next value. Indicates if the value is valid.
sourcefn seek_val(&mut self, storage: &Self::Storage, val: &V)
fn seek_val(&mut self, storage: &Self::Storage, val: &V)
Advances the cursor to the specified value. Indicates if the value is valid.
sourcefn rewind_keys(&mut self, storage: &Self::Storage)
fn rewind_keys(&mut self, storage: &Self::Storage)
Rewinds the cursor to the first key.
sourcefn rewind_vals(&mut self, storage: &Self::Storage)
fn rewind_vals(&mut self, storage: &Self::Storage)
Rewinds the cursor to the first value for current key.