Struct differential_dataflow::trace::cursor::cursor_list::CursorList [−][src]
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
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]
fn get_val<'a>(&self, storage: &'a Self::Storage) -> Option<&'a V>
[src]
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> RefUnwindSafe for CursorList<K, V, T, R, C> where
C: RefUnwindSafe,
K: RefUnwindSafe,
R: RefUnwindSafe,
T: RefUnwindSafe,
V: RefUnwindSafe,
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,
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,
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,
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,
C: UnwindSafe,
K: UnwindSafe,
R: UnwindSafe,
T: UnwindSafe,
V: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<C, K, V, T, R> CursorDebug<K, V, T, R> for C where
C: Cursor<K, V, T, R>,
T: Clone,
V: Clone,
R: Clone,
K: Clone,
[src]
C: Cursor<K, V, T, R>,
T: Clone,
V: Clone,
R: Clone,
K: Clone,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,