Struct arrow::array::GenericByteArray
source · pub struct GenericByteArray<T>where
T: ByteArrayType,{ /* private fields */ }
Expand description
Generic struct for variable-size byte arrays
See StringArray
and LargeStringArray
for storing utf8 encoded string data
See BinaryArray
and LargeBinaryArray
for storing arbitrary bytes
Implementations§
source§impl<OffsetSize> GenericByteArray<GenericBinaryType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> GenericByteArray<GenericBinaryType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
sourcepub const fn get_data_type() -> DataType
👎Deprecated: please use Self::DATA_TYPE
instead
pub const fn get_data_type() -> DataType
Self::DATA_TYPE
insteadGet the data type of the array.
sourcepub fn from_vec(
v: Vec<&[u8], Global>
) -> GenericByteArray<GenericBinaryType<OffsetSize>>
pub fn from_vec( v: Vec<&[u8], Global> ) -> GenericByteArray<GenericBinaryType<OffsetSize>>
Creates a GenericBinaryArray from a vector of byte slices
See also Self::from_iter_values
sourcepub fn from_opt_vec(
v: Vec<Option<&[u8]>, Global>
) -> GenericByteArray<GenericBinaryType<OffsetSize>>
pub fn from_opt_vec( v: Vec<Option<&[u8]>, Global> ) -> GenericByteArray<GenericBinaryType<OffsetSize>>
Creates a GenericBinaryArray from a vector of Optional (null) byte slices
sourcepub fn from_iter_values<Ptr, I>(
iter: I
) -> GenericByteArray<GenericBinaryType<OffsetSize>>where
Ptr: AsRef<[u8]>,
I: IntoIterator<Item = Ptr>,
pub fn from_iter_values<Ptr, I>( iter: I ) -> GenericByteArray<GenericBinaryType<OffsetSize>>where Ptr: AsRef<[u8]>, I: IntoIterator<Item = Ptr>,
Creates a GenericBinaryArray
based on an iterator of values without nulls
sourcepub fn take_iter<'a>(
&'a self,
indexes: impl Iterator<Item = Option<usize>> + 'a
) -> impl Iterator<Item = Option<&'a [u8]>> + 'a
pub fn take_iter<'a>( &'a self, indexes: impl Iterator<Item = Option<usize>> + 'a ) -> impl Iterator<Item = Option<&'a [u8]>> + 'a
Returns an iterator that returns the values of array.value(i)
for an iterator with each element i
sourcepub unsafe fn take_iter_unchecked<'a>(
&'a self,
indexes: impl Iterator<Item = Option<usize>> + 'a
) -> impl Iterator<Item = Option<&'a [u8]>> + 'a
pub unsafe fn take_iter_unchecked<'a>( &'a self, indexes: impl Iterator<Item = Option<usize>> + 'a ) -> impl Iterator<Item = Option<&'a [u8]>> + 'a
Returns an iterator that returns the values of array.value(i)
for an iterator with each element i
Safety
caller must ensure that the indexes in the iterator are less than the array.len()
source§impl<T> GenericByteArray<T>where
T: ByteArrayType,
impl<T> GenericByteArray<T>where T: ByteArrayType,
sourcepub fn value_length(&self, i: usize) -> <T as ByteArrayType>::Offset
pub fn value_length(&self, i: usize) -> <T as ByteArrayType>::Offset
sourcepub fn value_data(&self) -> &[u8] ⓘ
pub fn value_data(&self) -> &[u8] ⓘ
Returns the raw value data
sourcepub fn value_offsets(&self) -> &[<T as ByteArrayType>::Offset]
pub fn value_offsets(&self) -> &[<T as ByteArrayType>::Offset]
Returns the offset values in the offsets buffer
sourcepub unsafe fn value_unchecked(&self, i: usize) -> &<T as ByteArrayType>::Native
pub unsafe fn value_unchecked(&self, i: usize) -> &<T as ByteArrayType>::Native
Returns the element at index i
Safety
Caller is responsible for ensuring that the index is within the bounds of the array
sourcepub fn value(&self, i: usize) -> &<T as ByteArrayType>::Native
pub fn value(&self, i: usize) -> &<T as ByteArrayType>::Native
sourcepub fn iter(&self) -> ArrayIter<&GenericByteArray<T>> ⓘ
pub fn iter(&self) -> ArrayIter<&GenericByteArray<T>> ⓘ
constructs a new iterator
sourcepub fn into_builder(self) -> Result<GenericByteBuilder<T>, GenericByteArray<T>>
pub fn into_builder(self) -> Result<GenericByteBuilder<T>, GenericByteArray<T>>
Returns GenericByteBuilder
of this byte array for mutating its values if the underlying
offset and data buffers are not shared by others.
source§impl<OffsetSize> GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
sourcepub const fn get_data_type() -> DataType
👎Deprecated: please use Self::DATA_TYPE
instead
pub const fn get_data_type() -> DataType
Self::DATA_TYPE
insteadGet the data type of the array.
sourcepub fn num_chars(&self, i: usize) -> usize
pub fn num_chars(&self, i: usize) -> usize
Returns the number of Unicode Scalar Value
in the string at index i
.
Performance
This function has O(n)
time complexity where n
is the string length.
If you can make sure that all chars in the string are in the range U+0x0000
~ U+0x007F
,
please use the function value_length
which has O(1) time complexity.
sourcepub fn from_iter_values<Ptr, I>(
iter: I
) -> GenericByteArray<GenericStringType<OffsetSize>>where
Ptr: AsRef<str>,
I: IntoIterator<Item = Ptr>,
pub fn from_iter_values<Ptr, I>( iter: I ) -> GenericByteArray<GenericStringType<OffsetSize>>where Ptr: AsRef<str>, I: IntoIterator<Item = Ptr>,
Creates a GenericStringArray
based on an iterator of values without nulls
sourcepub fn take_iter<'a>(
&'a self,
indexes: impl Iterator<Item = Option<usize>> + 'a
) -> impl Iterator<Item = Option<&'a str>> + 'a
pub fn take_iter<'a>( &'a self, indexes: impl Iterator<Item = Option<usize>> + 'a ) -> impl Iterator<Item = Option<&'a str>> + 'a
Returns an iterator that returns the values of array.value(i)
for an iterator with each element i
sourcepub unsafe fn take_iter_unchecked<'a>(
&'a self,
indexes: impl Iterator<Item = Option<usize>> + 'a
) -> impl Iterator<Item = Option<&'a str>> + 'a
pub unsafe fn take_iter_unchecked<'a>( &'a self, indexes: impl Iterator<Item = Option<usize>> + 'a ) -> impl Iterator<Item = Option<&'a str>> + 'a
Returns an iterator that returns the values of array.value(i)
for an iterator with each element i
Safety
caller must ensure that the indexes in the iterator are less than the array.len()
sourcepub fn try_from_binary(
v: GenericByteArray<GenericBinaryType<OffsetSize>>
) -> Result<GenericByteArray<GenericStringType<OffsetSize>>, ArrowError>
pub fn try_from_binary( v: GenericByteArray<GenericBinaryType<OffsetSize>> ) -> Result<GenericByteArray<GenericStringType<OffsetSize>>, ArrowError>
Fallibly creates a GenericStringArray
from a GenericBinaryArray
returning
an error if GenericBinaryArray
contains invalid UTF-8 data
Trait Implementations§
source§impl<T> Array for GenericByteArray<T>where
T: ByteArrayType,
impl<T> Array for GenericByteArray<T>where T: ByteArrayType,
source§fn data(&self) -> &ArrayData
fn data(&self) -> &ArrayData
source§fn slice(&self, offset: usize, length: usize) -> Arc<dyn Array + 'static>
fn slice(&self, offset: usize, length: usize) -> Arc<dyn Array + 'static>
source§fn nulls(&self) -> Option<&NullBuffer>
fn nulls(&self) -> Option<&NullBuffer>
source§fn data_ref(&self) -> &ArrayData
fn data_ref(&self) -> &ArrayData
source§fn offset(&self) -> usize
fn offset(&self) -> usize
0
. Read moresource§fn is_null(&self, index: usize) -> bool
fn is_null(&self, index: usize) -> bool
index
is null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn is_valid(&self, index: usize) -> bool
fn is_valid(&self, index: usize) -> bool
index
is not null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn null_count(&self) -> usize
fn null_count(&self) -> usize
source§fn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
source§fn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
get_buffer_memory_size()
and
includes the overhead of the data structures that contain the pointers to the various buffers.source§impl<'a, T> ArrayAccessor for &'a GenericByteArray<T>where
T: ByteArrayType,
impl<'a, T> ArrayAccessor for &'a GenericByteArray<T>where T: ByteArrayType,
§type Item = &'a <T as ByteArrayType>::Native
type Item = &'a <T as ByteArrayType>::Native
source§fn value(
&self,
index: usize
) -> <&'a GenericByteArray<T> as ArrayAccessor>::Item
fn value( &self, index: usize ) -> <&'a GenericByteArray<T> as ArrayAccessor>::Item
i
Read moresource§unsafe fn value_unchecked(
&self,
index: usize
) -> <&'a GenericByteArray<T> as ArrayAccessor>::Item
unsafe fn value_unchecked( &self, index: usize ) -> <&'a GenericByteArray<T> as ArrayAccessor>::Item
i
Read moresource§impl<T> Clone for GenericByteArray<T>where
T: ByteArrayType,
impl<T> Clone for GenericByteArray<T>where T: ByteArrayType,
source§fn clone(&self) -> GenericByteArray<T>
fn clone(&self) -> GenericByteArray<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T> Debug for GenericByteArray<T>where
T: ByteArrayType,
impl<T> Debug for GenericByteArray<T>where T: ByteArrayType,
source§impl<T> From<ArrayData> for GenericByteArray<T>where
T: ByteArrayType,
impl<T> From<ArrayData> for GenericByteArray<T>where T: ByteArrayType,
source§fn from(data: ArrayData) -> GenericByteArray<T>
fn from(data: ArrayData) -> GenericByteArray<T>
source§impl<OffsetSize> From<GenericByteArray<GenericBinaryType<OffsetSize>>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<GenericByteArray<GenericBinaryType<OffsetSize>>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: GenericByteArray<GenericBinaryType<OffsetSize>>
) -> GenericByteArray<GenericStringType<OffsetSize>>
fn from( v: GenericByteArray<GenericBinaryType<OffsetSize>> ) -> GenericByteArray<GenericStringType<OffsetSize>>
source§impl<OffsetSize> From<GenericByteArray<GenericStringType<OffsetSize>>> for GenericByteArray<GenericBinaryType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<GenericByteArray<GenericStringType<OffsetSize>>> for GenericByteArray<GenericBinaryType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
value: GenericByteArray<GenericStringType<OffsetSize>>
) -> GenericByteArray<GenericBinaryType<OffsetSize>>
fn from( value: GenericByteArray<GenericStringType<OffsetSize>> ) -> GenericByteArray<GenericBinaryType<OffsetSize>>
source§impl<T> From<GenericByteArray<T>> for ArrayDatawhere
T: ByteArrayType,
impl<T> From<GenericByteArray<T>> for ArrayDatawhere T: ByteArrayType,
source§fn from(array: GenericByteArray<T>) -> ArrayData
fn from(array: GenericByteArray<T>) -> ArrayData
source§impl<OffsetSize> From<GenericListArray<OffsetSize>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<GenericListArray<OffsetSize>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: GenericListArray<OffsetSize>
) -> GenericByteArray<GenericStringType<OffsetSize>>
fn from( v: GenericListArray<OffsetSize> ) -> GenericByteArray<GenericStringType<OffsetSize>>
source§impl<T> From<GenericListArray<T>> for GenericByteArray<GenericBinaryType<T>>where
T: OffsetSizeTrait,
impl<T> From<GenericListArray<T>> for GenericByteArray<GenericBinaryType<T>>where T: OffsetSizeTrait,
source§fn from(v: GenericListArray<T>) -> GenericByteArray<GenericBinaryType<T>>
fn from(v: GenericListArray<T>) -> GenericByteArray<GenericBinaryType<T>>
source§impl<OffsetSize> From<Vec<&[u8], Global>> for GenericByteArray<GenericBinaryType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<Vec<&[u8], Global>> for GenericByteArray<GenericBinaryType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: Vec<&[u8], Global>
) -> GenericByteArray<GenericBinaryType<OffsetSize>>
fn from( v: Vec<&[u8], Global> ) -> GenericByteArray<GenericBinaryType<OffsetSize>>
source§impl<OffsetSize> From<Vec<&str, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<Vec<&str, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(v: Vec<&str, Global>) -> GenericByteArray<GenericStringType<OffsetSize>>
fn from(v: Vec<&str, Global>) -> GenericByteArray<GenericStringType<OffsetSize>>
source§impl<OffsetSize> From<Vec<Option<&[u8]>, Global>> for GenericByteArray<GenericBinaryType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<Vec<Option<&[u8]>, Global>> for GenericByteArray<GenericBinaryType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: Vec<Option<&[u8]>, Global>
) -> GenericByteArray<GenericBinaryType<OffsetSize>>
fn from( v: Vec<Option<&[u8]>, Global> ) -> GenericByteArray<GenericBinaryType<OffsetSize>>
source§impl<OffsetSize> From<Vec<Option<&str>, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<Vec<Option<&str>, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: Vec<Option<&str>, Global>
) -> GenericByteArray<GenericStringType<OffsetSize>>
fn from( v: Vec<Option<&str>, Global> ) -> GenericByteArray<GenericStringType<OffsetSize>>
source§impl<OffsetSize> From<Vec<Option<String>, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<Vec<Option<String>, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: Vec<Option<String>, Global>
) -> GenericByteArray<GenericStringType<OffsetSize>>
fn from( v: Vec<Option<String>, Global> ) -> GenericByteArray<GenericStringType<OffsetSize>>
source§impl<OffsetSize> From<Vec<String, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> From<Vec<String, Global>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn from(
v: Vec<String, Global>
) -> GenericByteArray<GenericStringType<OffsetSize>>
fn from( v: Vec<String, Global> ) -> GenericByteArray<GenericStringType<OffsetSize>>
source§impl<'a, Ptr, OffsetSize> FromIterator<&'a Option<Ptr>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
Ptr: AsRef<str> + 'a,
impl<'a, Ptr, OffsetSize> FromIterator<&'a Option<Ptr>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait, Ptr: AsRef<str> + 'a,
source§fn from_iter<I>(iter: I) -> GenericByteArray<GenericStringType<OffsetSize>>where
I: IntoIterator<Item = &'a Option<Ptr>>,
fn from_iter<I>(iter: I) -> GenericByteArray<GenericStringType<OffsetSize>>where I: IntoIterator<Item = &'a Option<Ptr>>,
Creates a GenericStringArray
based on an iterator of Option
references.
source§impl<Ptr, OffsetSize> FromIterator<Option<Ptr>> for GenericByteArray<GenericBinaryType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
Ptr: AsRef<[u8]>,
impl<Ptr, OffsetSize> FromIterator<Option<Ptr>> for GenericByteArray<GenericBinaryType<OffsetSize>>where OffsetSize: OffsetSizeTrait, Ptr: AsRef<[u8]>,
source§fn from_iter<I>(iter: I) -> GenericByteArray<GenericBinaryType<OffsetSize>>where
I: IntoIterator<Item = Option<Ptr>>,
fn from_iter<I>(iter: I) -> GenericByteArray<GenericBinaryType<OffsetSize>>where I: IntoIterator<Item = Option<Ptr>>,
source§impl<Ptr, OffsetSize> FromIterator<Option<Ptr>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
Ptr: AsRef<str>,
impl<Ptr, OffsetSize> FromIterator<Option<Ptr>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait, Ptr: AsRef<str>,
source§fn from_iter<I>(iter: I) -> GenericByteArray<GenericStringType<OffsetSize>>where
I: IntoIterator<Item = Option<Ptr>>,
fn from_iter<I>(iter: I) -> GenericByteArray<GenericStringType<OffsetSize>>where I: IntoIterator<Item = Option<Ptr>>,
Creates a GenericStringArray
based on an iterator of Option
s
source§impl<'a, T> IntoIterator for &'a GenericByteArray<T>where
T: ByteArrayType,
impl<'a, T> IntoIterator for &'a GenericByteArray<T>where T: ByteArrayType,
§type Item = Option<&'a <T as ByteArrayType>::Native>
type Item = Option<&'a <T as ByteArrayType>::Native>
§type IntoIter = ArrayIter<&'a GenericByteArray<T>>
type IntoIter = ArrayIter<&'a GenericByteArray<T>>
source§fn into_iter(self) -> <&'a GenericByteArray<T> as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a GenericByteArray<T> as IntoIterator>::IntoIter
source§impl<OffsetSize> PartialEq<GenericByteArray<GenericBinaryType<OffsetSize>>> for GenericByteArray<GenericBinaryType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> PartialEq<GenericByteArray<GenericBinaryType<OffsetSize>>> for GenericByteArray<GenericBinaryType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn eq(&self, other: &GenericByteArray<GenericBinaryType<OffsetSize>>) -> bool
fn eq(&self, other: &GenericByteArray<GenericBinaryType<OffsetSize>>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<OffsetSize> PartialEq<GenericByteArray<GenericStringType<OffsetSize>>> for GenericByteArray<GenericStringType<OffsetSize>>where
OffsetSize: OffsetSizeTrait,
impl<OffsetSize> PartialEq<GenericByteArray<GenericStringType<OffsetSize>>> for GenericByteArray<GenericStringType<OffsetSize>>where OffsetSize: OffsetSizeTrait,
source§fn eq(&self, other: &GenericByteArray<GenericStringType<OffsetSize>>) -> bool
fn eq(&self, other: &GenericByteArray<GenericStringType<OffsetSize>>) -> bool
self
and other
values to be equal, and is used
by ==
.