pub struct WritableMetadataBuilder {
field_names: IndexSet<String>,
is_sorted: bool,
metadata_buffer: Vec<u8>,
}
Expand description
Builder for constructing metadata for Variant
values.
This is used internally by the VariantBuilder
to construct the metadata
You can use an existing Vec<u8>
as the metadata buffer by using the from
impl.
Fields§
§field_names: IndexSet<String>
§is_sorted: bool
§metadata_buffer: Vec<u8>
Output buffer. Metadata is written to the end of this buffer
Implementations§
Source§impl WritableMetadataBuilder
impl WritableMetadataBuilder
Sourcefn upsert_field_name(&mut self, field_name: &str) -> u32
fn upsert_field_name(&mut self, field_name: &str) -> u32
Upsert field name to dictionary, return its ID
Sourcefn num_field_names(&self) -> usize
fn num_field_names(&self) -> usize
Returns the number of field names stored in the metadata builder.
Note: this method should be the only place to call self.field_names.len()
§Panics
If the number of field names exceeds the maximum allowed value for u32
.
fn field_name(&self, i: usize) -> &str
fn metadata_size(&self) -> usize
Sourcepub fn finish(&mut self) -> usize
pub fn finish(&mut self) -> usize
Finalizes the metadata dictionary and appends its serialized bytes to the underlying buffer,
returning the resulting Self::offset
. The builder state is reset and ready to start
building a new metadata dictionary.
Sourcepub fn into_inner(self) -> Vec<u8> ⓘ
pub fn into_inner(self) -> Vec<u8> ⓘ
Returns the inner buffer, consuming self without finalizing any in progress metadata.
Trait Implementations§
Source§impl Debug for WritableMetadataBuilder
impl Debug for WritableMetadataBuilder
Source§impl Default for WritableMetadataBuilder
impl Default for WritableMetadataBuilder
Source§fn default() -> WritableMetadataBuilder
fn default() -> WritableMetadataBuilder
Source§impl<S: AsRef<str>> Extend<S> for WritableMetadataBuilder
impl<S: AsRef<str>> Extend<S> for WritableMetadataBuilder
Source§fn extend<T: IntoIterator<Item = S>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = S>>(&mut self, iter: T)
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<S: AsRef<str>> FromIterator<S> for WritableMetadataBuilder
impl<S: AsRef<str>> FromIterator<S> for WritableMetadataBuilder
Source§fn from_iter<T: IntoIterator<Item = S>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = S>>(iter: T) -> Self
Source§impl MetadataBuilder for WritableMetadataBuilder
impl MetadataBuilder for WritableMetadataBuilder
Source§fn try_upsert_field_name(&mut self, field_name: &str) -> Result<u32, ArrowError>
fn try_upsert_field_name(&mut self, field_name: &str) -> Result<u32, ArrowError>
Source§fn field_name(&self, field_id: usize) -> &str
fn field_name(&self, field_id: usize) -> &str
Self::num_field_names
. Panics if the field id is out of bounds.Source§fn num_field_names(&self) -> usize
fn num_field_names(&self) -> usize
Self::truncate_field_names
.