Trait polars_core::datatypes::StaticArray
source · pub trait StaticArray: Array + for<'a> ArrayFromIterDtype<Self::ValueT<'a>> + for<'a> ArrayFromIterDtype<Self::ZeroableValueT<'a>> + for<'a> ArrayFromIterDtype<Option<Self::ValueT<'a>>> {
type ValueT<'a>: Clone
where Self: 'a;
type ZeroableValueT<'a>: Zeroable + From<Self::ValueT<'a>>
where Self: 'a;
type ValueIterT<'a>: Iterator<Item = Self::ValueT<'a>> + TrustedLen + TrustedLen
where Self: 'a;
// Required methods
unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>;
fn iter(
&self
) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>;
fn values_iter(&self) -> Self::ValueIterT<'_>;
fn with_validity_typed(self, validity: Option<Bitmap>) -> 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<'_> { ... }
fn as_slice(&self) -> Option<&[Self::ValueT<'_>]> { ... }
fn from_vec(v: Vec<Self::ValueT<'_>>, dtype: DataType) -> Self { ... }
fn from_zeroable_vec(
v: Vec<Self::ZeroableValueT<'_>>,
dtype: DataType
) -> 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>: Iterator<Item = Self::ValueT<'a>> + TrustedLen + TrustedLen where Self: 'a
Required Methods§
sourceunsafe fn value_unchecked(&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 iter( &self ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>
fn values_iter(&self) -> Self::ValueIterT<'_>
fn with_validity_typed(self, validity: Option<Bitmap>) -> Self
Provided Methods§
fn get(&self, idx: usize) -> Option<Self::ValueT<'_>>
sourceunsafe fn get_unchecked(&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<'_>
fn as_slice(&self) -> Option<&[Self::ValueT<'_>]>
fn from_vec(v: Vec<Self::ValueT<'_>>, dtype: DataType) -> Self
fn from_zeroable_vec(v: Vec<Self::ZeroableValueT<'_>>, dtype: DataType) -> Self
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl StaticArray for BinaryArray<i64>
impl StaticArray for BinaryArray<i64>
type ValueT<'a> = &'a [u8]
type ZeroableValueT<'a> = Option<&'a [u8]>
type ValueIterT<'a> = ArrayValuesIter<'a, BinaryArray<i64>>
unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>
fn values_iter(&self) -> Self::ValueIterT<'_>
fn iter( &self ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>
fn with_validity_typed(self, validity: Option<Bitmap>) -> Self
source§impl StaticArray for BooleanArray
impl StaticArray for BooleanArray
type ValueT<'a> = bool
type ZeroableValueT<'a> = bool
type ValueIterT<'a> = BitmapIter<'a>
unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>
fn values_iter(&self) -> Self::ValueIterT<'_>
fn iter( &self ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>
fn with_validity_typed(self, validity: Option<Bitmap>) -> Self
fn from_vec(v: Vec<Self::ValueT<'_>>, _dtype: DataType) -> Self
fn from_zeroable_vec(v: Vec<Self::ValueT<'_>>, _dtype: DataType) -> Self
source§impl StaticArray for ListArray<i64>
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>>
unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>
fn values_iter(&self) -> Self::ValueIterT<'_>
fn iter( &self ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>
fn with_validity_typed(self, validity: Option<Bitmap>) -> Self
source§impl StaticArray for Utf8Array<i64>
impl StaticArray for Utf8Array<i64>
type ValueT<'a> = &'a str
type ZeroableValueT<'a> = Option<&'a str>
type ValueIterT<'a> = ArrayValuesIter<'a, Utf8Array<i64>>
unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>
fn values_iter(&self) -> Self::ValueIterT<'_>
fn iter( &self ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>
fn with_validity_typed(self, validity: Option<Bitmap>) -> Self
source§impl<T: NumericNative> StaticArray for PrimitiveArray<T>
impl<T: NumericNative> StaticArray for PrimitiveArray<T>
type ValueT<'a> = T
type ZeroableValueT<'a> = T
type ValueIterT<'a> = Copied<Iter<'a, T>>
unsafe fn value_unchecked(&self, idx: usize) -> Self::ValueT<'_>
fn values_iter(&self) -> Self::ValueIterT<'_>
fn as_slice(&self) -> Option<&[Self::ValueT<'_>]>
fn iter( &self ) -> ZipValidity<Self::ValueT<'_>, Self::ValueIterT<'_>, BitmapIter<'_>>
fn with_validity_typed(self, validity: Option<Bitmap>) -> Self
fn from_vec(v: Vec<Self::ValueT<'_>>, _dtype: DataType) -> Self
fn from_zeroable_vec(v: Vec<Self::ZeroableValueT<'_>>, _dtype: DataType) -> Self
Implementors§
source§impl<T: PolarsObject> StaticArray for ObjectArray<T>
Available on crate feature object only.
impl<T: PolarsObject> StaticArray for ObjectArray<T>
Available on crate feature
object only.