pub struct FixedSizeBinaryArray { /* private fields */ }Expand description
An array of fixed size binary arrays
Examples
Create an array from an iterable argument of byte slices.
use arrow_array::{Array, FixedSizeBinaryArray};
let input_arg = vec![ vec![1, 2], vec![3, 4], vec![5, 6] ];
let arr = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap();
assert_eq!(3, arr.len());
Create an array from an iterable argument of sparse byte slices.
Sparsity means that the input argument can contain None items.
use arrow_array::{Array, FixedSizeBinaryArray};
let input_arg = vec![ None, Some(vec![7, 8]), Some(vec![9, 10]), None, Some(vec![13, 14]) ];
let arr = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), 2).unwrap();
assert_eq!(5, arr.len())
Implementations§
§impl FixedSizeBinaryArray
impl FixedSizeBinaryArray
pub fn new(
size: i32,
values: Buffer,
nulls: Option<NullBuffer>
) -> FixedSizeBinaryArray
pub fn new( size: i32, values: Buffer, nulls: Option<NullBuffer> ) -> FixedSizeBinaryArray
Create a new FixedSizeBinaryArray with size element size, panicking on failure
Panics
Panics if Self::try_new returns an error
pub fn try_new(
size: i32,
values: Buffer,
nulls: Option<NullBuffer>
) -> Result<FixedSizeBinaryArray, ArrowError>
pub fn try_new( size: i32, values: Buffer, nulls: Option<NullBuffer> ) -> Result<FixedSizeBinaryArray, ArrowError>
Create a new FixedSizeBinaryArray from the provided parts, returning an error on failure
Errors
size < 0values.len() / size != nulls.len()
pub fn new_null(size: i32, len: usize) -> FixedSizeBinaryArray
pub fn new_null(size: i32, len: usize) -> FixedSizeBinaryArray
Create a new FixedSizeBinaryArray of length len where all values are null
Panics
Panics if
size < 0size * lenwould overflowusize
pub fn into_parts(self) -> (i32, Buffer, Option<NullBuffer>)
pub fn into_parts(self) -> (i32, Buffer, Option<NullBuffer>)
Deconstruct this array into its constituent parts
pub unsafe fn value_unchecked(&self, i: usize) -> &[u8] ⓘ
pub unsafe fn value_unchecked(&self, i: usize) -> &[u8] ⓘ
Returns the element at index i as a byte slice.
Safety
Caller is responsible for ensuring that the index is within the bounds of the array
pub fn value_offset(&self, i: usize) -> i32
pub fn value_offset(&self, i: usize) -> i32
Returns the offset for the element at index i.
Note this doesn’t do any bound checking, for performance reason.
pub fn value_length(&self) -> i32
pub fn value_length(&self) -> i32
Returns the length for an element.
All elements have the same length as the array is a fixed size.
pub fn value_data(&self) -> Buffer
pub fn value_data(&self) -> Buffer
Returns a clone of the value data buffer
pub fn slice(&self, offset: usize, len: usize) -> FixedSizeBinaryArray
pub fn slice(&self, offset: usize, len: usize) -> FixedSizeBinaryArray
Returns a zero-copy slice of this array with the indicated offset and length.
pub fn try_from_sparse_iter<T, U>(
iter: T
) -> Result<FixedSizeBinaryArray, ArrowError>where
T: Iterator<Item = Option<U>>,
U: AsRef<[u8]>,
👎Deprecated: This function will fail if the iterator produces only None values; prefer try_from_sparse_iter_with_size
pub fn try_from_sparse_iter<T, U>( iter: T ) -> Result<FixedSizeBinaryArray, ArrowError>where T: Iterator<Item = Option<U>>, U: AsRef<[u8]>,
try_from_sparse_iter_with_sizeCreate an array from an iterable argument of sparse byte slices.
Sparsity means that items returned by the iterator are optional, i.e input argument can
contain None items.
Examples
use arrow_array::FixedSizeBinaryArray;
let input_arg = vec![
None,
Some(vec![7, 8]),
Some(vec![9, 10]),
None,
Some(vec![13, 14]),
None,
];
let array = FixedSizeBinaryArray::try_from_sparse_iter(input_arg.into_iter()).unwrap();Errors
Returns error if argument has length zero, or sizes of nested slices don’t match.
pub fn try_from_sparse_iter_with_size<T, U>(
iter: T,
size: i32
) -> Result<FixedSizeBinaryArray, ArrowError>where
T: Iterator<Item = Option<U>>,
U: AsRef<[u8]>,
pub fn try_from_sparse_iter_with_size<T, U>( iter: T, size: i32 ) -> Result<FixedSizeBinaryArray, ArrowError>where T: Iterator<Item = Option<U>>, U: AsRef<[u8]>,
Create an array from an iterable argument of sparse byte slices.
Sparsity means that items returned by the iterator are optional, i.e input argument can
contain None items. In cases where the iterator returns only None values, this
also takes a size parameter to ensure that the a valid FixedSizeBinaryArray is still
created.
Examples
use arrow_array::FixedSizeBinaryArray;
let input_arg = vec![
None,
Some(vec![7, 8]),
Some(vec![9, 10]),
None,
Some(vec![13, 14]),
None,
];
let array = FixedSizeBinaryArray::try_from_sparse_iter_with_size(input_arg.into_iter(), 2).unwrap();Errors
Returns error if argument has length zero, or sizes of nested slices don’t match.
pub fn try_from_iter<T, U>(iter: T) -> Result<FixedSizeBinaryArray, ArrowError>where
T: Iterator<Item = U>,
U: AsRef<[u8]>,
pub fn try_from_iter<T, U>(iter: T) -> Result<FixedSizeBinaryArray, ArrowError>where T: Iterator<Item = U>, U: AsRef<[u8]>,
Create an array from an iterable argument of byte slices.
Examples
use arrow_array::FixedSizeBinaryArray;
let input_arg = vec![
vec![1, 2],
vec![3, 4],
vec![5, 6],
];
let array = FixedSizeBinaryArray::try_from_iter(input_arg.into_iter()).unwrap();Errors
Returns error if argument has length zero, or sizes of nested slices don’t match.
pub fn iter(&self) -> ArrayIter<&FixedSizeBinaryArray> ⓘ
pub fn iter(&self) -> ArrayIter<&FixedSizeBinaryArray> ⓘ
constructs a new iterator
Trait Implementations§
§impl Array for FixedSizeBinaryArray
impl Array for FixedSizeBinaryArray
§fn slice(&self, offset: usize, length: usize) -> Arc<dyn Array, Global>
fn slice(&self, offset: usize, length: usize) -> Arc<dyn Array, Global>
§fn offset(&self) -> usize
fn offset(&self) -> usize
0. Read more§fn nulls(&self) -> Option<&NullBuffer>
fn nulls(&self) -> Option<&NullBuffer>
§fn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
§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.§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 more§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 more§fn null_count(&self) -> usize
fn null_count(&self) -> usize
§impl<'a> ArrayAccessor for &'a FixedSizeBinaryArray
impl<'a> ArrayAccessor for &'a FixedSizeBinaryArray
§fn value(
&self,
index: usize
) -> <&'a FixedSizeBinaryArray as ArrayAccessor>::Item
fn value( &self, index: usize ) -> <&'a FixedSizeBinaryArray as ArrayAccessor>::Item
i Read more§unsafe fn value_unchecked(
&self,
index: usize
) -> <&'a FixedSizeBinaryArray as ArrayAccessor>::Item
unsafe fn value_unchecked( &self, index: usize ) -> <&'a FixedSizeBinaryArray as ArrayAccessor>::Item
i Read more§impl Clone for FixedSizeBinaryArray
impl Clone for FixedSizeBinaryArray
§fn clone(&self) -> FixedSizeBinaryArray
fn clone(&self) -> FixedSizeBinaryArray
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for FixedSizeBinaryArray
impl Debug for FixedSizeBinaryArray
§impl From<ArrayData> for FixedSizeBinaryArray
impl From<ArrayData> for FixedSizeBinaryArray
§fn from(data: ArrayData) -> FixedSizeBinaryArray
fn from(data: ArrayData) -> FixedSizeBinaryArray
§impl From<FixedSizeBinaryArray> for ArrayData
impl From<FixedSizeBinaryArray> for ArrayData
§fn from(array: FixedSizeBinaryArray) -> ArrayData
fn from(array: FixedSizeBinaryArray) -> ArrayData
§impl From<FixedSizeListArray> for FixedSizeBinaryArray
impl From<FixedSizeListArray> for FixedSizeBinaryArray
Creates a FixedSizeBinaryArray from FixedSizeList<u8> array
§fn from(v: FixedSizeListArray) -> FixedSizeBinaryArray
fn from(v: FixedSizeListArray) -> FixedSizeBinaryArray
§impl<'a> IntoIterator for &'a FixedSizeBinaryArray
impl<'a> IntoIterator for &'a FixedSizeBinaryArray
§type IntoIter = ArrayIter<&'a FixedSizeBinaryArray>
type IntoIter = ArrayIter<&'a FixedSizeBinaryArray>
§fn into_iter(self) -> <&'a FixedSizeBinaryArray as IntoIterator>::IntoIter
fn into_iter(self) -> <&'a FixedSizeBinaryArray as IntoIterator>::IntoIter
§impl PartialEq<FixedSizeBinaryArray> for FixedSizeBinaryArray
impl PartialEq<FixedSizeBinaryArray> for FixedSizeBinaryArray
§fn eq(&self, other: &FixedSizeBinaryArray) -> bool
fn eq(&self, other: &FixedSizeBinaryArray) -> bool
self and other values to be equal, and is used
by ==.Auto Trait Implementations§
impl RefUnwindSafe for FixedSizeBinaryArray
impl Send for FixedSizeBinaryArray
impl Sync for FixedSizeBinaryArray
impl Unpin for FixedSizeBinaryArray
impl UnwindSafe for FixedSizeBinaryArray
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§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