polars::prelude::datatypes

Trait StaticArray

pub trait StaticArray:
    Array
    + for<'a> ArrayFromIterDtype<Self::ValueT<'a>>
    + for<'a> ArrayFromIterDtype<Self::ZeroableValueT<'a>>
    + for<'a> ArrayFromIterDtype<Option<Self::ValueT<'a>>>
    + Clone {
    type ValueT<'a>: Clone
       where Self: 'a;
    type ZeroableValueT<'a>: Zeroable + From<Self::ValueT<'a>>
       where Self: 'a;
    type ValueIterT<'a>: DoubleEndedIterator<Item = Self::ValueT<'a>> + TrustedLen + Send + Sync
       where Self: 'a;

Show 13 methods // Required methods fn with_validity_typed(self, validity: Option<Bitmap>) -> Self; fn full_null(length: usize, dtype: ArrowDataType) -> Self; // Provided methods fn get(&self, idx: usize) -> Option<Self::ValueT<'_>> { ... } unsafe fn get_unchecked(&self, idx: usize) -> Option<Self::ValueT<'_>> { ... } fn last(&self) -> Option<Self::ValueT<'_>> { ... } fn value(&self, idx: usize) -> Self::ValueT<'_> { ... } unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_> { ... } fn as_slice(&self) -> Option<&[Self::ValueT<'_>]> { ... } fn iter( &self, ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>> { ... } fn values_iter(&self) -> Self::ValueIterT<'_> { ... } fn from_vec(v: Vec<Self::ValueT<'_>>, dtype: ArrowDataType) -> Self { ... } fn from_zeroable_vec( v: Vec<Self::ZeroableValueT<'_>>, dtype: ArrowDataType, ) -> Self { ... } fn full( length: usize, value: Self::ValueT<'_>, dtype: ArrowDataType, ) -> Self { ... }
}

Required Associated Types§

type ValueT<'a>: Clone where Self: 'a

type ZeroableValueT<'a>: Zeroable + From<Self::ValueT<'a>> where Self: 'a

type ValueIterT<'a>: DoubleEndedIterator<Item = Self::ValueT<'a>> + TrustedLen + Send + Sync where Self: 'a

Required Methods§

fn with_validity_typed(self, validity: Option<Bitmap>) -> Self

fn full_null(length: usize, dtype: ArrowDataType) -> Self

Provided Methods§

fn get(&self, idx: usize) -> Option<Self::ValueT<'_>>

unsafe fn get_unchecked(&self, idx: usize) -> Option<Self::ValueT<'_>>

§Safety

It is the callers responsibility that the idx < self.len().

fn last(&self) -> Option<Self::ValueT<'_>>

fn value(&self, idx: usize) -> Self::ValueT<'_>

unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>

§Safety

It is the callers responsibility that the idx < self.len().

fn as_slice(&self) -> Option<&[Self::ValueT<'_>]>

fn iter( &self, ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>

fn values_iter(&self) -> Self::ValueIterT<'_>

fn from_vec(v: Vec<Self::ValueT<'_>>, dtype: ArrowDataType) -> Self

fn from_zeroable_vec( v: Vec<Self::ZeroableValueT<'_>>, dtype: ArrowDataType, ) -> Self

fn full(length: usize, value: Self::ValueT<'_>, dtype: ArrowDataType) -> Self

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.

Implementors§

§

impl StaticArray for StructArray

§

type ValueT<'a> = ()

§

type ZeroableValueT<'a> = ()

§

type ValueIterT<'a> = Repeat<()>

§

impl StaticArray for BinaryArray<i64>

§

type ValueT<'a> = &'a [u8]

§

type ZeroableValueT<'a> = Option<&'a [u8]>

§

type ValueIterT<'a> = ArrayValuesIter<'a, BinaryArray<i64>>

§

impl StaticArray for BinaryViewArrayGeneric<str>

§

type ValueT<'a> = &'a str

§

type ZeroableValueT<'a> = Option<&'a str>

§

type ValueIterT<'a> = ArrayValuesIter<'a, BinaryViewArrayGeneric<str>>

§

impl StaticArray for BinaryViewArrayGeneric<[u8]>

§

type ValueT<'a> = &'a [u8]

§

type ZeroableValueT<'a> = Option<&'a [u8]>

§

type ValueIterT<'a> = ArrayValuesIter<'a, BinaryViewArrayGeneric<[u8]>>

§

impl StaticArray for BooleanArray

§

type ValueT<'a> = bool

§

type ZeroableValueT<'a> = bool

§

type ValueIterT<'a> = BitmapIter<'a>

§

impl StaticArray for FixedSizeListArray

§

type ValueT<'a> = Box<dyn Array>

§

type ZeroableValueT<'a> = Option<Box<dyn Array>>

§

type ValueIterT<'a> = ArrayValuesIter<'a, FixedSizeListArray>

§

impl StaticArray for ListArray<i64>

§

type ValueT<'a> = Box<dyn Array>

§

type ZeroableValueT<'a> = Option<Box<dyn Array>>

§

type ValueIterT<'a> = ArrayValuesIter<'a, ListArray<i64>>

§

impl StaticArray for Utf8Array<i64>

§

type ValueT<'a> = &'a str

§

type ZeroableValueT<'a> = Option<&'a str>

§

type ValueIterT<'a> = ArrayValuesIter<'a, Utf8Array<i64>>

Source§

impl<T> StaticArray for ObjectArray<T>
where T: PolarsObject,

§

impl<T> StaticArray for PrimitiveArray<T>
where T: NativeType,

§

type ValueT<'a> = T

§

type ZeroableValueT<'a> = T

§

type ValueIterT<'a> = Copied<Iter<'a, T>>