Struct differential_dataflow::trace::layers::ordered::OrderedLayer
[−]
[src]
pub struct OrderedLayer<K: Ord, L> { pub keys: Vec<K>, pub offs: Vec<usize>, pub vals: L, }
A level of the trie, with keys and offsets into a lower layer.
In this representation, the values for keys[i] are found at vals[offs[i] .. offs[i+1]].
Fields
keys: Vec<K>
The keys of the layer.
offs: Vec<usize>
The offsets associate with each key.
The bounds for keys[i] are (offs[i], offs[i+1]). The offset array is guaranteed to be one
element longer than the keys array, ensuring that these accesses do not panic.
vals: L
The ranges of values associated with the keys.
Trait Implementations
impl<K: Debug + Ord, L: Debug> Debug for OrderedLayer<K, L>[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl<K: Eq + Ord, L: Eq> Eq for OrderedLayer<K, L>[src]
impl<K: PartialEq + Ord, L: PartialEq> PartialEq for OrderedLayer<K, L>[src]
fn eq(&self, __arg_0: &OrderedLayer<K, L>) -> bool[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &OrderedLayer<K, L>) -> bool[src]
This method tests for !=.
impl<K: Clone + Ord, L: Clone> Clone for OrderedLayer<K, L>[src]
fn clone(&self) -> OrderedLayer<K, L>[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl<K: Ord, L> Abomonation for OrderedLayer<K, L> where
Vec<K>: Abomonation,
K: Abomonation,
L: Abomonation, [src]
Vec<K>: Abomonation,
K: Abomonation,
L: Abomonation,
unsafe fn entomb<W: Write>(&self, _write: &mut W) -> Result<()>[src]
Write any additional information about &self beyond its binary representation. Read more
fn extent(&self) -> usize[src]
Reports the number of further bytes required to entomb self.
unsafe fn exhume<'a, 'b>(
&'a mut self,
bytes: &'b mut [u8]
) -> Option<&'b mut [u8]>[src]
&'a mut self,
bytes: &'b mut [u8]
) -> Option<&'b mut [u8]>
Recover any information for &mut self not evident from its binary representation. Read more
impl<K: Ord + Clone, L: Trie> Trie for OrderedLayer<K, L>[src]
type Item = (K, L::Item)
The type of item from which the type is constructed.
type Cursor = OrderedCursor<L>
The type of cursor used to navigate the type.
type MergeBuilder = OrderedBuilder<K, L::MergeBuilder>
The type used to merge instances of the type together.
type TupleBuilder = OrderedBuilder<K, L::TupleBuilder>
The type used to assemble instances of the type from its Items.
fn keys(&self) -> usize[src]
The number of distinct keys, as distinct from the total number of tuples.
fn tuples(&self) -> usize[src]
The total number of tuples in the collection.
fn cursor_from(&self, lower: usize, upper: usize) -> Self::Cursor[src]
Returns a cursor over a range of data, commonly used by others to restrict navigation to sub-collections. Read more
fn cursor(&self) -> Self::Cursor[src]
Returns a cursor capable of navigating the collection.
fn merge(&self, other: &Self) -> Self[src]
Merges two collections into a third. Read more
impl<K: Ord, L: Trie> Cursor<OrderedLayer<K, L>> for OrderedCursor<L>[src]
type Key = K
The type revealed by the cursor.
fn key<'a>(&self, storage: &'a OrderedLayer<K, L>) -> &'a Self::Key[src]
Reveals the current key.
fn step(&mut self, storage: &OrderedLayer<K, L>)[src]
Advances the cursor by one element.
fn seek(&mut self, storage: &OrderedLayer<K, L>, key: &Self::Key)[src]
Advances the cursor until the location where key would be expected.
fn valid(&self, _storage: &OrderedLayer<K, L>) -> bool[src]
Returns true if the cursor points at valid data. Returns false if the cursor is exhausted.
fn rewind(&mut self, storage: &OrderedLayer<K, L>)[src]
Rewinds the cursor to its initial state.
fn reposition(
&mut self,
storage: &OrderedLayer<K, L>,
lower: usize,
upper: usize
)[src]
&mut self,
storage: &OrderedLayer<K, L>,
lower: usize,
upper: usize
)
Repositions the cursor to a different range of values.
Auto Trait Implementations
impl<K, L> Send for OrderedLayer<K, L> where
K: Send,
L: Send,
K: Send,
L: Send,
impl<K, L> Sync for OrderedLayer<K, L> where
K: Sync,
L: Sync,
K: Sync,
L: Sync,