[−][src]Struct differential_dataflow::trace::cursor::cursor_list::CursorList
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.
Methods
impl<K, V, T, R, C: Cursor<K, V, T, R>> CursorList<K, V, T, R, C> where
K: Ord,
V: Ord,
[src]
K: Ord,
V: Ord,
pub fn new(cursors: Vec<C>, storage: &[C::Storage]) -> Self
[src]
Creates a new cursor list from pre-existing cursors.
Trait Implementations
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,
[src]
K: Ord,
V: Ord,
type Storage = Vec<C::Storage>
Type the cursor addresses data in.
fn key_valid(&self, _storage: &Self::Storage) -> bool
[src]
fn val_valid(&self, _storage: &Self::Storage) -> bool
[src]
fn key<'a>(&self, storage: &'a Self::Storage) -> &'a K
[src]
fn val<'a>(&self, storage: &'a Self::Storage) -> &'a V
[src]
fn map_times<L: FnMut(&T, &R)>(&mut self, storage: &Self::Storage, logic: L)
[src]
fn step_key(&mut self, storage: &Self::Storage)
[src]
fn seek_key(&mut self, storage: &Self::Storage, key: &K)
[src]
fn step_val(&mut self, storage: &Self::Storage)
[src]
fn seek_val(&mut self, storage: &Self::Storage, val: &V)
[src]
fn rewind_keys(&mut self, storage: &Self::Storage)
[src]
fn rewind_vals(&mut self, storage: &Self::Storage)
[src]
fn get_key<'a>(&self, storage: &'a Self::Storage) -> Option<&'a K>
[src]
Returns a reference to the current key, if valid.
fn get_val<'a>(&self, storage: &'a Self::Storage) -> Option<&'a V>
[src]
Returns a reference to the current value, if valid.
impl<K: Debug, V: Debug, T: Debug, R: Debug, C: Debug + Cursor<K, V, T, R>> Debug for CursorList<K, V, T, R, C>
[src]
Auto Trait Implementations
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,
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,
C: Sync,
K: Sync,
R: Sync,
T: Sync,
V: Sync,
Blanket Implementations
impl<C, K, V, T, R> CursorDebug for C where
C: Cursor<K, V, T, R>,
K: Clone,
R: Clone,
T: Clone,
V: Clone,
[src]
C: Cursor<K, V, T, R>,
K: Clone,
R: Clone,
T: Clone,
V: Clone,
fn to_vec(&mut self, storage: &Self::Storage) -> Vec<((K, V), Vec<(T, R)>)>
[src]
Rewinds the cursor and outputs its contents to a Vec
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,