pub struct BatchFrontier<B, T> { /* private fields */ }Expand description
Wrapper to restrict a batch’s times to a frontier range.
Implementations§
Source§impl<B, T> BatchFrontier<B, T>
impl<B, T> BatchFrontier<B, T>
Sourcepub fn make_from(
batch: B,
since: AntichainRef<'_, T>,
until: AntichainRef<'_, T>,
) -> Selfwhere
T: Clone,
pub fn make_from(
batch: B,
since: AntichainRef<'_, T>,
until: AntichainRef<'_, T>,
) -> Selfwhere
T: Clone,
Makes a new wrapper
Sourcepub fn inner(&self) -> &B
pub fn inner(&self) -> &B
The wrapped batch, whose times are neither advanced nor suppressed.
Its times must be presented through BatchFrontier::advance_time, which is the whole of
the wrapper’s read-side semantics.
Sourcepub fn advance_time(&self, time: &mut T) -> bool
pub fn advance_time(&self, time: &mut T) -> bool
Applies the wrapper’s time semantics to a time of the wrapped batch.
The time is advanced by since, which accumulates the updates at or before since rather
than presenting them partially accumulated. The method returns whether the advanced time
should be presented at all: times at or after until are suppressed, even when they are
part of a batch that spans until.
Trait Implementations§
Auto Trait Implementations§
impl<B, T> Freeze for BatchFrontier<B, T>
impl<B, T> RefUnwindSafe for BatchFrontier<B, T>
impl<B, T> Send for BatchFrontier<B, T>
impl<B, T> Sync for BatchFrontier<B, T>
impl<B, T> Unpin for BatchFrontier<B, T>
impl<B, T> UnsafeUnpin for BatchFrontier<B, T>
impl<B, T> UnwindSafe for BatchFrontier<B, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign, for types that do not implement AddAssign.