Struct differential_dataflow::trace::cursor::cursor_list::CursorList
source · pub struct CursorList<K, V, T, R, C: Cursor<K, V, T, R>> { /* private fields */ }Expand description
Provides a cursor interface over a list of cursors.
The CursorList tracks the indices of cursors with the minimum key, and the the indices of cursors with
the minimum key and minimum value. It performs no clever management of these sets otherwise.
Implementations
Trait Implementations
sourceimpl<K, V, T, R, C: Cursor<K, V, T, R>> Cursor<K, V, T, R> for CursorList<K, V, T, R, C>where
K: Ord,
V: Ord,
impl<K, V, T, R, C: Cursor<K, V, T, R>> Cursor<K, V, T, R> for CursorList<K, V, T, R, C>where
K: Ord,
V: Ord,
sourcefn key_valid(&self, _storage: &Self::Storage) -> bool
fn key_valid(&self, _storage: &Self::Storage) -> bool
Indicates if the current key is valid. Read more
sourcefn val_valid(&self, _storage: &Self::Storage) -> bool
fn val_valid(&self, _storage: &Self::Storage) -> bool
Indicates if the current value is valid. Read more
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. Read moresourcefn 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.
Auto Trait Implementations
impl<K, V, T, R, C> RefUnwindSafe for CursorList<K, V, T, R, C>where
C: RefUnwindSafe,
K: RefUnwindSafe,
R: RefUnwindSafe,
T: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V, T, R, C> Send for CursorList<K, V, T, R, C>where
C: Send,
K: Send,
R: Send,
T: Send,
V: Send,
impl<K, V, T, R, C> Sync for CursorList<K, V, T, R, C>where
C: Sync,
K: Sync,
R: Sync,
T: Sync,
V: Sync,
impl<K, V, T, R, C> Unpin for CursorList<K, V, T, R, C>where
C: Unpin,
K: Unpin,
R: Unpin,
T: Unpin,
V: Unpin,
impl<K, V, T, R, C> UnwindSafe for CursorList<K, V, T, R, C>where
C: UnwindSafe,
K: UnwindSafe,
R: UnwindSafe,
T: UnwindSafe,
V: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more