Struct differential_dataflow::trace::cursor::cursor_pair::CursorPair
source · pub struct CursorPair<C1, C2> { /* private fields */ }
Expand description
A cursor over the combined updates of two different cursors.
A CursorPair
wraps two cursors over the same types of updates, and provides navigation
through their merged updates.
Trait Implementations§
source§impl<K, V, T, R, C1, C2> Cursor for CursorPair<C1, C2>where
K: Ord,
V: Ord,
C1: Cursor<Key = K, Val = V, Time = T, Diff = R>,
C2: Cursor<Key = K, Val = V, Time = T, Diff = R>,
impl<K, V, T, R, C1, C2> Cursor for CursorPair<C1, C2>where K: Ord, V: Ord, C1: Cursor<Key = K, Val = V, Time = T, Diff = R>, C2: Cursor<Key = K, Val = V, Time = T, Diff = R>,
source§fn key_valid(&self, storage: &(C1::Storage, C2::Storage)) -> bool
fn key_valid(&self, storage: &(C1::Storage, C2::Storage)) -> bool
Indicates if the current key is valid. Read more
source§fn val_valid(&self, storage: &(C1::Storage, C2::Storage)) -> bool
fn val_valid(&self, storage: &(C1::Storage, C2::Storage)) -> bool
Indicates if the current value is valid. Read more
source§fn key<'a>(&self, storage: &'a (C1::Storage, C2::Storage)) -> &'a K
fn key<'a>(&self, storage: &'a (C1::Storage, C2::Storage)) -> &'a K
A reference to the current key. Asserts if invalid.
source§fn val<'a>(&self, storage: &'a (C1::Storage, C2::Storage)) -> &'a V
fn val<'a>(&self, storage: &'a (C1::Storage, C2::Storage)) -> &'a V
A reference to the current value. Asserts if invalid.
source§fn map_times<L: FnMut(&T, &R)>(
&mut self,
storage: &(C1::Storage, C2::Storage),
logic: L
)
fn map_times<L: FnMut(&T, &R)>( &mut self, storage: &(C1::Storage, C2::Storage), logic: L )
Applies
logic
to each pair of time and difference. Intended for mutation of the
closure’s scope.source§fn step_key(&mut self, storage: &(C1::Storage, C2::Storage))
fn step_key(&mut self, storage: &(C1::Storage, C2::Storage))
Advances the cursor to the next key.
source§fn seek_key(&mut self, storage: &(C1::Storage, C2::Storage), key: &K)
fn seek_key(&mut self, storage: &(C1::Storage, C2::Storage), key: &K)
Advances the cursor to the specified key.
source§fn step_val(&mut self, storage: &(C1::Storage, C2::Storage))
fn step_val(&mut self, storage: &(C1::Storage, C2::Storage))
Advances the cursor to the next value.
source§fn seek_val(&mut self, storage: &(C1::Storage, C2::Storage), val: &V)
fn seek_val(&mut self, storage: &(C1::Storage, C2::Storage), val: &V)
Advances the cursor to the specified value.
source§fn rewind_keys(&mut self, storage: &(C1::Storage, C2::Storage))
fn rewind_keys(&mut self, storage: &(C1::Storage, C2::Storage))
Rewinds the cursor to the first key.
source§fn rewind_vals(&mut self, storage: &(C1::Storage, C2::Storage))
fn rewind_vals(&mut self, storage: &(C1::Storage, C2::Storage))
Rewinds the cursor to the first value for current key.
Auto Trait Implementations§
impl<C1, C2> RefUnwindSafe for CursorPair<C1, C2>where C1: RefUnwindSafe, C2: RefUnwindSafe,
impl<C1, C2> Send for CursorPair<C1, C2>where C1: Send, C2: Send,
impl<C1, C2> Sync for CursorPair<C1, C2>where C1: Sync, C2: Sync,
impl<C1, C2> Unpin for CursorPair<C1, C2>where C1: Unpin, C2: Unpin,
impl<C1, C2> UnwindSafe for CursorPair<C1, C2>where C1: UnwindSafe, C2: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more