pub trait VariantBuilderExt {
type State<'a>: BuilderSpecificState + 'a
where Self: 'a;
// Required methods
fn append_null(&mut self);
fn append_value<'m, 'v>(&mut self, value: impl Into<Variant<'m, 'v>>);
fn try_new_list(
&mut self,
) -> Result<ListBuilder<'_, Self::State<'_>>, ArrowError>;
fn try_new_object(
&mut self,
) -> Result<ObjectBuilder<'_, Self::State<'_>>, ArrowError>;
// Provided methods
fn new_list(&mut self) -> ListBuilder<'_, Self::State<'_>> { ... }
fn new_object(&mut self) -> ObjectBuilder<'_, Self::State<'_>> { ... }
}
Expand description
Extends VariantBuilder
to help building nested Variant
s
Allows users to append values to a VariantBuilder
, ListBuilder
or
ObjectBuilder
. using the same interface.
Required Associated Types§
Sourcetype State<'a>: BuilderSpecificState + 'a
where
Self: 'a
type State<'a>: BuilderSpecificState + 'a where Self: 'a
The builder specific state used by nested builders
Required Methods§
Sourcefn append_null(&mut self)
fn append_null(&mut self)
Appends a NULL value to this builder. The semantics depend on the implementation, but will
often translate to appending a Variant::Null
value.
Sourcefn append_value<'m, 'v>(&mut self, value: impl Into<Variant<'m, 'v>>)
fn append_value<'m, 'v>(&mut self, value: impl Into<Variant<'m, 'v>>)
Appends a new variant value to this builder. See e.g. VariantBuilder::append_value
.
Sourcefn try_new_list(
&mut self,
) -> Result<ListBuilder<'_, Self::State<'_>>, ArrowError>
fn try_new_list( &mut self, ) -> Result<ListBuilder<'_, Self::State<'_>>, ArrowError>
Creates a nested list builder. See e.g. VariantBuilder::new_list
. Returns an error if
the nested builder cannot be created, see e.g. ObjectBuilder::try_new_list
.
Sourcefn try_new_object(
&mut self,
) -> Result<ObjectBuilder<'_, Self::State<'_>>, ArrowError>
fn try_new_object( &mut self, ) -> Result<ObjectBuilder<'_, Self::State<'_>>, ArrowError>
Creates a nested object builder. See e.g. VariantBuilder::new_object
. Returns an error
if the nested builder cannot be created, see e.g. ObjectBuilder::try_new_object
.
Provided Methods§
Sourcefn new_list(&mut self) -> ListBuilder<'_, Self::State<'_>>
fn new_list(&mut self) -> ListBuilder<'_, Self::State<'_>>
Creates a nested list builder. See e.g. VariantBuilder::new_list
. Panics if the nested
builder cannot be created, see e.g. ObjectBuilder::new_list
.
Sourcefn new_object(&mut self) -> ObjectBuilder<'_, Self::State<'_>>
fn new_object(&mut self) -> ObjectBuilder<'_, Self::State<'_>>
Creates a nested object builder. See e.g. VariantBuilder::new_object
. Panics if the
nested builder cannot be created, see e.g. ObjectBuilder::new_object
.
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.