pub trait Layout {
    type Target: Update + ?Sized;
    type KeyContainer: BatchContainer + PushInto<<Self::Target as Update>::Key>;
    type ValContainer: BatchContainer;
    type TimeContainer: BatchContainer<Owned = <Self::Target as Update>::Time> + PushInto<<Self::Target as Update>::Time>;
    type DiffContainer: BatchContainer<Owned = <Self::Target as Update>::Diff> + PushInto<<Self::Target as Update>::Diff>;
    type OffsetContainer: for<'a> BatchContainer<ReadItem<'a> = usize>;
}
Expand description

A type with opinions on how updates should be laid out.

Required Associated Types§

Source

type Target: Update + ?Sized

The represented update.

Source

type KeyContainer: BatchContainer + PushInto<<Self::Target as Update>::Key>

Container for update keys.

Source

type ValContainer: BatchContainer

Container for update vals.

Source

type TimeContainer: BatchContainer<Owned = <Self::Target as Update>::Time> + PushInto<<Self::Target as Update>::Time>

Container for times.

Source

type DiffContainer: BatchContainer<Owned = <Self::Target as Update>::Diff> + PushInto<<Self::Target as Update>::Diff>

Container for diffs.

Source

type OffsetContainer: for<'a> BatchContainer<ReadItem<'a> = usize>

Container for offsets.

Implementors§