Struct GenericByteRunBuilder
pub struct GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,{
run_ends_builder: PrimitiveBuilder<R>,
values_builder: GenericByteBuilder<V>,
current_value: Vec<u8>,
has_current_value: bool,
current_run_end_index: usize,
prev_run_end_index: usize,
}
Expand description
Builder for RunArray
of GenericByteArray
§Example:
let mut builder =
GenericByteRunBuilder::<Int16Type, BinaryType>::new();
builder.extend([Some(b"abc"), Some(b"abc"), None, Some(b"def")].into_iter());
builder.append_value(b"def");
builder.append_null();
let array = builder.finish();
assert_eq!(array.run_ends().values(), &[2, 3, 5, 6]);
let av = array.values();
assert!(!av.is_null(0));
assert!(av.is_null(1));
assert!(!av.is_null(2));
assert!(av.is_null(3));
// Values are polymorphic and so require a downcast.
let ava: &BinaryArray = av.as_binary();
assert_eq!(ava.value(0), b"abc");
assert_eq!(ava.value(2), b"def");
Fields§
§run_ends_builder: PrimitiveBuilder<R>
§values_builder: GenericByteBuilder<V>
§current_value: Vec<u8>
§has_current_value: bool
§current_run_end_index: usize
§prev_run_end_index: usize
Implementations§
§impl<R, V> GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
impl<R, V> GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
pub fn new() -> GenericByteRunBuilder<R, V>
pub fn new() -> GenericByteRunBuilder<R, V>
Creates a new GenericByteRunBuilder
pub fn with_capacity(
capacity: usize,
data_capacity: usize,
) -> GenericByteRunBuilder<R, V>
pub fn with_capacity( capacity: usize, data_capacity: usize, ) -> GenericByteRunBuilder<R, V>
Creates a new GenericByteRunBuilder
with the provided capacity
capacity
: the expected number of run-end encoded values.
data_capacity
: the expected number of bytes of run end encoded values
§impl<R, V> GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
impl<R, V> GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
pub fn append_option(
&mut self,
input_value: Option<impl AsRef<<V as ByteArrayType>::Native>>,
)
pub fn append_option( &mut self, input_value: Option<impl AsRef<<V as ByteArrayType>::Native>>, )
Appends optional value to the logical array encoded by the RunArray.
pub fn append_value(
&mut self,
input_value: impl AsRef<<V as ByteArrayType>::Native>,
)
pub fn append_value( &mut self, input_value: impl AsRef<<V as ByteArrayType>::Native>, )
Appends value to the logical array encoded by the RunArray.
pub fn append_null(&mut self)
pub fn append_null(&mut self)
Appends null to the logical array encoded by the RunArray.
pub fn finish(&mut self) -> RunArray<R>
pub fn finish(&mut self) -> RunArray<R>
Creates the RunArray and resets the builder. Panics if RunArray cannot be built.
pub fn finish_cloned(&self) -> RunArray<R>
pub fn finish_cloned(&self) -> RunArray<R>
Creates the RunArray and without resetting the builder. Panics if RunArray cannot be built.
Trait Implementations§
§impl<R, V> ArrayBuilder for GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
impl<R, V> ArrayBuilder for GenericByteRunBuilder<R, V>where
R: RunEndIndexType,
V: ByteArrayType,
§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.
§fn into_box_any(self: Box<GenericByteRunBuilder<R, V>>) -> Box<dyn Any>
fn into_box_any(self: Box<GenericByteRunBuilder<R, V>>) -> Box<dyn Any>
Returns the boxed builder as a box of Any
.
§fn finish_cloned(&self) -> Arc<dyn Array>
fn finish_cloned(&self) -> Arc<dyn Array>
Builds the array without resetting the builder.
§impl<R, V> Debug for GenericByteRunBuilder<R, V>
impl<R, V> Debug for GenericByteRunBuilder<R, V>
§impl<R, V> Default for GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
impl<R, V> Default for GenericByteRunBuilder<R, V>where
R: ArrowPrimitiveType,
V: ByteArrayType,
§fn default() -> GenericByteRunBuilder<R, V>
fn default() -> GenericByteRunBuilder<R, V>
§impl<R, V, S> Extend<Option<S>> for GenericByteRunBuilder<R, V>
impl<R, V, S> Extend<Option<S>> for GenericByteRunBuilder<R, V>
§fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = Option<S>>,
fn extend<T>(&mut self, iter: T)where
T: IntoIterator<Item = Option<S>>,
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
)Auto Trait Implementations§
impl<R, V> Freeze for GenericByteRunBuilder<R, V>
impl<R, V> RefUnwindSafe for GenericByteRunBuilder<R, V>where
<R as ArrowPrimitiveType>::Native: RefUnwindSafe,
<V as ByteArrayType>::Offset: RefUnwindSafe,
impl<R, V> Send for GenericByteRunBuilder<R, V>
impl<R, V> Sync for GenericByteRunBuilder<R, V>
impl<R, V> Unpin for GenericByteRunBuilder<R, V>
impl<R, V> UnwindSafe for GenericByteRunBuilder<R, V>
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<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request