[][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]