pub trait BuilderInput<K: BatchContainer, V: BatchContainer>: Container {
type Key<'a>: Ord;
type Val<'a>: Ord;
type Time;
type Diff;
// Required methods
fn into_parts<'a>(
item: Self::Item<'a>,
) -> (Self::Key<'a>, Self::Val<'a>, Self::Time, Self::Diff);
fn key_eq(this: &Self::Key<'_>, other: K::ReadItem<'_>) -> bool;
fn val_eq(this: &Self::Val<'_>, other: V::ReadItem<'_>) -> bool;
fn key_val_upd_counts(chain: &[Self]) -> (usize, usize, usize);
}
Expand description
Behavior to split an update into principal components.
Required Associated Types§
Required Methods§
Sourcefn into_parts<'a>(
item: Self::Item<'a>,
) -> (Self::Key<'a>, Self::Val<'a>, Self::Time, Self::Diff)
fn into_parts<'a>( item: Self::Item<'a>, ) -> (Self::Key<'a>, Self::Val<'a>, Self::Time, Self::Diff)
Split an item into separate parts.
Sourcefn key_eq(this: &Self::Key<'_>, other: K::ReadItem<'_>) -> bool
fn key_eq(this: &Self::Key<'_>, other: K::ReadItem<'_>) -> bool
Test that the key equals a key in the layout’s key container.
Sourcefn val_eq(this: &Self::Val<'_>, other: V::ReadItem<'_>) -> bool
fn val_eq(this: &Self::Val<'_>, other: V::ReadItem<'_>) -> bool
Test that the value equals a key in the layout’s value container.
Sourcefn key_val_upd_counts(chain: &[Self]) -> (usize, usize, usize)
fn key_val_upd_counts(chain: &[Self]) -> (usize, usize, usize)
Count the number of distinct keys, (key, val) pairs, and total updates.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.