pub trait Builder: Sized {
type Item;
type Time: Timestamp;
type Output;
// Required methods
fn with_capacity(keys: usize, vals: usize, upds: usize) -> Self;
fn copy(&mut self, element: &Self::Item);
fn done(
self,
lower: Antichain<Self::Time>,
upper: Antichain<Self::Time>,
since: Antichain<Self::Time>,
) -> Self::Output;
// Provided methods
fn new() -> Self { ... }
fn push(&mut self, element: Self::Item) { ... }
fn extend<I: Iterator<Item = Self::Item>>(&mut self, iter: I) { ... }
}Expand description
Functionality for building batches from ordered update sequences.
Required Associated Types§
Required Methods§
Sourcefn with_capacity(keys: usize, vals: usize, upds: usize) -> Self
fn with_capacity(keys: usize, vals: usize, upds: usize) -> Self
Allocates an empty builder with capacity for the specified keys, values, and updates.
They represent respectively the number of distinct key, (key, val), and total updates.
Provided Methods§
Sourcefn new() -> Self
fn new() -> Self
Allocates an empty builder.
Ideally we deprecate this and insist all non-trivial building happens via with_capacity().
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.
Implementors§
Source§impl<B: Builder> Builder for AbomonatedBuilder<B>where
B::Output: Abomonation,
Functionality for building batches from ordered update sequences.
impl<B: Builder> Builder for AbomonatedBuilder<B>where
B::Output: Abomonation,
Functionality for building batches from ordered update sequences.
Source§impl<B: Builder> Builder for RcBuilder<B>
Functionality for building batches from ordered update sequences.
impl<B: Builder> Builder for RcBuilder<B>
Functionality for building batches from ordered update sequences.