Skip to main content

TextArrayV

Struct TextArrayV 

Source
pub struct TextArrayV {
    pub array: TextArray,
    pub offset: usize,
    /* private fields */
}
Expand description

§TextArrayView

Borrowed, indexable view into a [offset .. offset + len) window of a TextArray.

§Purpose

  • Zero-copy access to contiguous UTF-8 values in either StringArray or CategoricalArray form.
  • Allows null counts for the view to be cached to speed up scans.

§Fields

  • array: the backing TextArray.
  • offset: starting index of the view.
  • len: number of logical elements in the view.
  • null_count: cached Option<usize> of nulls for this range.

§Notes

  • TextArrayV is not thread-safe due to its use of Cell for caching the null count.
  • Use slice to derive smaller views from this one.
  • Use to_text_array to materialise the data.

Fields§

§array: TextArray

The outer array that this view is derived from - we retain a reference to it. Importantly, this is the full array - not the view, and thus should not be accessed as though it were the view subset.

§offset: usize

The index offset from 0 that for where this view starts from the outer array

Implementations§

Source§

impl TextArrayV

Source

pub fn new(array: TextArray, offset: usize, len: usize) -> TextArrayV

Creates a new TextArrayView with the given offset and length.

Source

pub fn new_nc( array: TextArray, offset: usize, len: usize, null_count: usize, ) -> TextArrayV

Creates a new TextArrayView with a precomputed null count.

Source

pub fn is_empty(&self) -> bool

Returns true if the view is empty.

Source

pub fn get_str(&self, i: usize) -> Option<&str>

Returns the value at logical index i as an Option<&str>.

Source

pub fn slice(&self, offset: usize, len: usize) -> TextArrayV

Returns a sliced view into a subrange of this view.

Source

pub fn len(&self) -> usize

Returns the length of the window

Source

pub fn inner_array(&self) -> Array

Returns the full backing array wrapped as an Array enum, ignoring the view’s offset and length.

Use this to access inner array methods. The returned array is the unwindowed original.

Source

pub fn to_text_array(&self) -> TextArray

Returns an owned TextArray clone of the window.

Source

pub fn end(&self) -> usize

Returns the end index of the view.

Source

pub fn as_tuple(&self) -> (TextArray, usize, usize)

Returns the view as a tuple (array, offset, len).

Source

pub fn null_count(&self) -> usize

Returns the number of nulls in the view.

Caches it after the first calculation.

Source

pub fn null_mask_view(&self) -> Option<BitmaskV>

Returns the null mask as a windowed BitmaskView.

Source

pub fn set_null_count(&self, count: usize) -> Result<(), usize>

Sets the cached null count for the view.

Returns Ok(()) if the value was set, or Err(count) if it was already initialised. This is thread-safe and can only succeed once per TextArrayV instance.

Trait Implementations§

Source§

impl Clone for TextArrayV

Source§

fn clone(&self) -> TextArrayV

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Concatenate for TextArrayV

Source§

fn concat(self, other: TextArrayV) -> Result<TextArrayV, MinarrowError>

Concatenates two text array views by materialising both to owned text arrays, concatenating them, and wrapping the result back in a view.

§Notes
  • This operation copies data from both views to create owned text arrays.
  • The resulting view has offset=0 and length equal to the combined length.
Source§

impl Debug for TextArrayV

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for TextArrayV

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'a> From<&'a [&'a str]> for TextArrayV

Source§

fn from(strings: &'a [&'a str]) -> TextArrayV

Converts to this type from the input type.
Source§

impl From<Array> for TextArrayV

Source§

fn from(array: Array) -> TextArrayV

Converts to this type from the input type.
Source§

impl From<ArrayV> for TextArrayV

Source§

fn from(view: ArrayV) -> TextArrayV

Converts to this type from the input type.
Source§

impl From<TextArray> for TextArrayV

Source§

fn from(array: TextArray) -> TextArrayV

Converts to this type from the input type.
Source§

impl From<TextArrayV> for ArrayV

Available on crate feature views only.

TextArrayView -> ArrayView

Converts by wrapping the inner TextArray as Array::TextArray.

Source§

fn from(view: TextArrayV) -> ArrayV

Converts to this type from the input type.
Source§

impl From<Vec64<String>> for TextArrayV

Source§

fn from(strings: Vec64<String>) -> TextArrayV

Converts to this type from the input type.
Source§

impl From<Vec<String>> for TextArrayV

Source§

fn from(strings: Vec<String>) -> TextArrayV

Converts to this type from the input type.
Source§

impl PartialEq for TextArrayV

Source§

fn eq(&self, other: &TextArrayV) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Shape for TextArrayV

Source§

fn shape(&self) -> ShapeDim

Returns arbitrary Shape dimension for any data shape
Source§

fn shape_1d(&self) -> usize

Returns the first dimension shape Read more
Source§

fn shape_2d(&self) -> (usize, usize)

Returns the first and second dimension shapes Read more
Source§

fn shape_3d(&self) -> (usize, usize, usize)

Returns the first, second and third dimension shapes Read more
Source§

fn shape_4d(&self) -> (usize, usize, usize, usize)

Returns the first, second, third and fourth dimension shapes Read more
Source§

impl StructuralPartialEq for TextArrayV

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CustomValue for T
where T: Any + Send + Sync + Clone + PartialEq + Debug,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Downcasts the type as Any
Source§

fn deep_clone(&self) -> Arc<dyn CustomValue>

Returns a deep clone of the object. Read more
Source§

fn eq_box(&self, other: &(dyn CustomValue + 'static)) -> bool

Performs semantic equality on the boxed object. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Print for T
where T: Display,

Source§

fn print(&self)
where Self: Display,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.