Trait differential_dataflow::trace::layers::Cursor[][src]

pub trait Cursor<Storage> {
    type Key;
    fn key<'a>(&self, storage: &'a Storage) -> &'a Self::Key;
fn step(&mut self, storage: &Storage);
fn seek(&mut self, storage: &Storage, key: &Self::Key);
fn valid(&self, storage: &Storage) -> bool;
fn rewind(&mut self, storage: &Storage);
fn reposition(&mut self, storage: &Storage, lower: usize, upper: usize); }

A type supporting navigation.

The precise meaning of this navigation is not defined by the trait. It is likely that having navigated around, the cursor will be different in some other way, but the Cursor trait does not explain how this is so.

Associated Types

type Key[src]

The type revealed by the cursor.

Loading content...

Required methods

fn key<'a>(&self, storage: &'a Storage) -> &'a Self::Key[src]

Reveals the current key.

fn step(&mut self, storage: &Storage)[src]

Advances the cursor by one element.

fn seek(&mut self, storage: &Storage, key: &Self::Key)[src]

Advances the cursor until the location where key would be expected.

fn valid(&self, storage: &Storage) -> bool[src]

Returns true if the cursor points at valid data. Returns false if the cursor is exhausted.

fn rewind(&mut self, storage: &Storage)[src]

Rewinds the cursor to its initial state.

fn reposition(&mut self, storage: &Storage, lower: usize, upper: usize)[src]

Repositions the cursor to a different range of values.

Loading content...

Implementors

impl<K, L, O> Cursor<OrderedLayer<K, L, O>> for OrderedCursor<L> where
    K: Ord,
    L: Trie,
    O: OrdOffset,
    <O as TryFrom<usize>>::Error: Debug,
    <O as TryInto<usize>>::Error: Debug
[src]

type Key = K

impl<K: Clone, R: Clone> Cursor<OrderedLeaf<K, R>> for OrderedLeafCursor[src]

type Key = (K, R)

Loading content...