pub struct GenericByteBuilder<T>where
T: ByteArrayType,{ /* private fields */ }
Expand description
Builder for GenericByteArray
For building strings, see docs on GenericStringBuilder
.
For building binary, see docs on GenericBinaryBuilder
.
Implementations§
Source§impl<T> GenericByteBuilder<T>where
T: ByteArrayType,
impl<T> GenericByteBuilder<T>where
T: ByteArrayType,
Sourcepub fn new() -> GenericByteBuilder<T>
pub fn new() -> GenericByteBuilder<T>
Creates a new GenericByteBuilder
.
Sourcepub fn with_capacity(
item_capacity: usize,
data_capacity: usize,
) -> GenericByteBuilder<T>
pub fn with_capacity( item_capacity: usize, data_capacity: usize, ) -> GenericByteBuilder<T>
Creates a new GenericByteBuilder
.
item_capacity
is the number of items to pre-allocate. The size of the preallocated buffer of offsets is the number of items plus one.data_capacity
is the total number of bytes of data to pre-allocate (for all items, not per item).
Sourcepub unsafe fn new_from_buffer(
offsets_buffer: MutableBuffer,
value_buffer: MutableBuffer,
null_buffer: Option<MutableBuffer>,
) -> GenericByteBuilder<T>
pub unsafe fn new_from_buffer( offsets_buffer: MutableBuffer, value_buffer: MutableBuffer, null_buffer: Option<MutableBuffer>, ) -> GenericByteBuilder<T>
Creates a new GenericByteBuilder
from buffers.
§Safety
This doesn’t verify buffer contents as it assumes the buffers are from
existing and valid GenericByteArray
.
Sourcepub fn append_value(&mut self, value: impl AsRef<<T as ByteArrayType>::Native>)
pub fn append_value(&mut self, value: impl AsRef<<T as ByteArrayType>::Native>)
Appends a value into the builder.
See the GenericStringBuilder documentation for examples of
incrementally building string values with multiple write!
calls.
§Panics
Panics if the resulting length of Self::values_slice
would exceed
T::Offset::MAX
bytes.
For example, this can happen with StringArray
or BinaryArray
where the total length of all values exceeds 2GB
Sourcepub fn append_option(
&mut self,
value: Option<impl AsRef<<T as ByteArrayType>::Native>>,
)
pub fn append_option( &mut self, value: Option<impl AsRef<<T as ByteArrayType>::Native>>, )
Append an Option
value into the builder.
- A
None
value will append a null value. - A
Some
value will append the value.
See Self::append_value
for more panic information.
Sourcepub fn append_null(&mut self)
pub fn append_null(&mut self)
Append a null value into the builder.
Sourcepub fn append_array(&mut self, array: &GenericByteArray<T>)
pub fn append_array(&mut self, array: &GenericByteArray<T>)
Appends array values and null to this builder as is (this means that underlying null values are copied as is).
Sourcepub fn finish(&mut self) -> GenericByteArray<T>
pub fn finish(&mut self) -> GenericByteArray<T>
Builds the GenericByteArray
and reset this builder.
Sourcepub fn finish_cloned(&self) -> GenericByteArray<T>
pub fn finish_cloned(&self) -> GenericByteArray<T>
Builds the GenericByteArray
without resetting the builder.
Sourcepub fn values_slice(&self) -> &[u8] ⓘ
pub fn values_slice(&self) -> &[u8] ⓘ
Returns the current values buffer as a slice
Sourcepub fn offsets_slice(&self) -> &[<T as ByteArrayType>::Offset]
pub fn offsets_slice(&self) -> &[<T as ByteArrayType>::Offset]
Returns the current offsets buffer as a slice
Sourcepub fn validity_slice(&self) -> Option<&[u8]>
pub fn validity_slice(&self) -> Option<&[u8]>
Returns the current null buffer as a slice
Sourcepub fn validity_slice_mut(&mut self) -> Option<&mut [u8]>
pub fn validity_slice_mut(&mut self) -> Option<&mut [u8]>
Returns the current null buffer as a mutable slice
Trait Implementations§
Source§impl<T> ArrayBuilder for GenericByteBuilder<T>where
T: ByteArrayType,
impl<T> ArrayBuilder for GenericByteBuilder<T>where
T: ByteArrayType,
Source§fn finish_cloned(&self) -> Arc<dyn Array>
fn finish_cloned(&self) -> Arc<dyn Array>
Builds the array without resetting the builder.
Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns the builder as a mutable Any
reference.
Source§fn into_box_any(self: Box<GenericByteBuilder<T>>) -> Box<dyn Any>
fn into_box_any(self: Box<GenericByteBuilder<T>>) -> Box<dyn Any>
Returns the boxed builder as a box of Any
.
Source§impl<T> Debug for GenericByteBuilder<T>where
T: ByteArrayType,
impl<T> Debug for GenericByteBuilder<T>where
T: ByteArrayType,
Source§impl<T> Default for GenericByteBuilder<T>where
T: ByteArrayType,
impl<T> Default for GenericByteBuilder<T>where
T: ByteArrayType,
Source§fn default() -> GenericByteBuilder<T>
fn default() -> GenericByteBuilder<T>
Source§impl<T, V> Extend<Option<V>> for GenericByteBuilder<T>
impl<T, V> Extend<Option<V>> for GenericByteBuilder<T>
Source§fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Option<V>>,
fn extend<I>(&mut self, iter: I)where
I: IntoIterator<Item = Option<V>>,
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Source§impl<O> Write for GenericByteBuilder<GenericBinaryType<O>>where
O: OffsetSizeTrait,
impl<O> Write for GenericByteBuilder<GenericBinaryType<O>>where
O: OffsetSizeTrait,
Source§fn write(&mut self, bs: &[u8]) -> Result<usize, Error>
fn write(&mut self, bs: &[u8]) -> Result<usize, Error>
Source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored
)Source§impl<O> Write for GenericByteBuilder<GenericStringType<O>>where
O: OffsetSizeTrait,
impl<O> Write for GenericByteBuilder<GenericStringType<O>>where
O: OffsetSizeTrait,
Auto Trait Implementations§
impl<T> Freeze for GenericByteBuilder<T>
impl<T> RefUnwindSafe for GenericByteBuilder<T>
impl<T> Send for GenericByteBuilder<T>
impl<T> Sync for GenericByteBuilder<T>
impl<T> Unpin for GenericByteBuilder<T>
impl<T> UnwindSafe for GenericByteBuilder<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
Source§impl<W> FixedIntWriter for Wwhere
W: Write,
impl<W> FixedIntWriter for Wwhere
W: Write,
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>
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>
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