pub trait MergerChunk: Region {
    type Data<'a>: Ord
       where Self: 'a;
    type Time<'a>: Ord
       where Self: 'a;
    type TimeOwned;
    type Diff<'a>
       where Self: 'a;
    type DiffOwned;

    // Required method
    fn into_parts<'a>(
        item: Self::ReadItem<'a>,
    ) -> (Self::Data<'a>, Self::Time<'a>, Self::Diff<'a>);
}
Expand description

Behavior to dissect items of chunks in the merge batcher

Required Associated Types§

source

type Data<'a>: Ord where Self: 'a

The data portion of the update

source

type Time<'a>: Ord where Self: 'a

The time of the update

source

type TimeOwned

The owned time type.

source

type Diff<'a> where Self: 'a

The diff of the update

source

type DiffOwned

The owned diff type.

Required Methods§

source

fn into_parts<'a>( item: Self::ReadItem<'a>, ) -> (Self::Data<'a>, Self::Time<'a>, Self::Diff<'a>)

Split a read item into its constituents. Must be cheap.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<D, T, R> MergerChunk for TupleABCRegion<D, T, R>
where D: Region, for<'a> D::ReadItem<'a>: Ord, T: Region, for<'a> T::ReadItem<'a>: Ord, R: Region,

§

type Data<'a> = <D as Region>::ReadItem<'a> where Self: 'a

§

type Time<'a> = <T as Region>::ReadItem<'a> where Self: 'a

§

type TimeOwned = <T as Region>::Owned

§

type Diff<'a> = <R as Region>::ReadItem<'a> where Self: 'a

§

type DiffOwned = <R as Region>::Owned

source§

fn into_parts<'a>( (data, time, diff): Self::ReadItem<'a>, ) -> (Self::Data<'a>, Self::Time<'a>, Self::Diff<'a>)

Implementors§