[−][src]Struct differential_dataflow::trace::cursor::cursor_list::CursorList

pub struct CursorList<K, V, T, R, C: Cursor<K, V, T, R>> { /* fields omitted */ }

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]

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]

type Storage = Vec<C::Storage>

Type the cursor addresses data in.

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, 

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> 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> UnwindSafe for CursorList<K, V, T, R, C> where
    C: UnwindSafe,
    K: UnwindSafe,
    R: UnwindSafe,
    T: UnwindSafe,
    V: UnwindSafe, 

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, 

Blanket Implementations

impl<C, K, V, T, R> CursorDebug<K, V, T, R> for C where
    C: Cursor<K, V, T, R>,
    K: Clone,
    R: Clone,
    T: Clone,
    V: Clone, 
[src]

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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]