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

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 keeps its cursor ordered by key, and cursors with the smallest key are then ordered by val.

At any point, the current elements (keys, vals) are determined by the number of leading equivalent keys and equivalent values in self.cursors. Although they are implicit in self.cursors, We maintain these values explicitly, in self.equiv_keys and self.equiv_vals. We also track the number of valid keys and valid values, to avoid continually re-considering cursors in invalid states.

Methods

impl<K, V, T, R, C: Cursor<K, V, T, R>> CursorList<K, V, T, R, C> where
    K: Ord,
    V: Ord
[src]

[src]

Creates a new cursor list from pre-existing cursors.

Trait Implementations

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]

[src]

Formats the value using the given formatter. Read more

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 the cursor addresses data in.

[src]

Indicates if the current key is valid. Read more

[src]

Indicates if the current value is valid. Read more

[src]

A reference to the current key. Asserts if invalid.

[src]

A reference to the current value. Asserts if invalid.

[src]

Applies logic to each pair of time and difference. Intended for mutation of the closure's scope. Read more

[src]

Advances the cursor to the next key. Indicates if the key is valid.

[src]

Advances the cursor to the specified key. Indicates if the key is valid.

[src]

Advances the cursor to the next value. Indicates if the value is valid.

[src]

Advances the cursor to the specified value. Indicates if the value is valid.

[src]

Rewinds the cursor to the first key.

[src]

Rewinds the cursor to the first value for current key.

[src]

Returns a reference to the current key, if valid.

[src]

Returns a reference to the current value, if valid.

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