pub struct StructureBatchBuilder { /* private fields */ }Expand description
Incremental builder that interns each distinct identifier once per batch.
Implementations§
Source§impl StructureBatchBuilder
impl StructureBatchBuilder
Sourcepub fn new(
dataset: DatasetId,
chunk: ChunkId,
logical_start: LogicalRow,
capacity: u32,
) -> Result<Self, ProviderError>
pub fn new( dataset: DatasetId, chunk: ChunkId, logical_start: LogicalRow, capacity: u32, ) -> Result<Self, ProviderError>
Creates an empty batch with a bounded row reservation.
§Errors
Rejects an unrepresentable descriptor range.
Sourcepub fn set_continuity(&mut self, continuity: BatchContinuity)
pub fn set_continuity(&mut self, continuity: BatchContinuity)
Sets hierarchy continuity discovered by the source.
Sourcepub fn push(
&mut self,
record: StructureAtomRecord<'_>,
) -> Result<(), DictionaryFull>
pub fn push( &mut self, record: StructureAtomRecord<'_>, ) -> Result<(), DictionaryFull>
Appends one row without allocating per atom.
§Errors
Returns DictionaryFull if the batch-local dictionary is exhausted.
Sourcepub fn push_diagnostic(&mut self, diagnostic: Diagnostic)
pub fn push_diagnostic(&mut self, diagnostic: Diagnostic)
Appends a logical-row diagnostic.
Sourcepub fn finish(self) -> Result<StructureBatchBuffer, ProviderError>
pub fn finish(self) -> Result<StructureBatchBuffer, ProviderError>
Finalises the descriptor using the actual local extent.
§Errors
Rejects more than u32::MAX rows or logical identity overflow.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for StructureBatchBuilder
impl RefUnwindSafe for StructureBatchBuilder
impl Send for StructureBatchBuilder
impl Sync for StructureBatchBuilder
impl Unpin for StructureBatchBuilder
impl UnsafeUnpin for StructureBatchBuilder
impl UnwindSafe for StructureBatchBuilder
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> 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 more