Struct polars_core::chunked_array::object::ObjectArray

source ·
pub struct ObjectArray<T>
where T: PolarsObject,
{ /* private fields */ }
Available on crate feature object only.

Implementations§

source§

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

source

pub fn values(&self) -> &Arc<Vec<T>>

Get a reference to the underlying data

source

pub fn values_iter(&self) -> ObjectValueIter<'_, T>

source

pub fn iter(&self) -> ZipValidity<&T, ObjectValueIter<'_, T>, BitmapIter<'_>>

Returns an iterator of Option<&T> over every element of this array.

source

pub fn value(&self, index: usize) -> &T

Get a value at a certain index location

source

pub fn get(&self, index: usize) -> Option<&T>

source

pub unsafe fn value_unchecked(&self, index: usize) -> &T

Get a value at a certain index location

§Safety

This does not any bound checks. The caller needs to ensure the index is within the size of the array.

source

pub unsafe fn is_valid_unchecked(&self, i: usize) -> bool

Check validity

§Safety

No bounds checks

source

pub unsafe fn is_null_unchecked(&self, i: usize) -> bool

Check validity

§Safety

No bounds checks

source

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

Returns this array with a new validity.

§Panic

Panics iff validity.len() != self.len().

source

pub fn set_validity(&mut self, validity: Option<Bitmap>)

Sets the validity of this array.

§Panics

This function panics iff values.len() != self.len().

Trait Implementations§

source§

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

source§

fn as_any(&self) -> &dyn Any

Converts itself to a reference of Any, which enables downcasting to concrete types.
source§

fn data_type(&self) -> &ArrowDataType

The ArrowDataType of the [Array]. In combination with [Array::as_any], this can be used to downcast trait objects (dyn Array) to concrete arrays.
source§

fn slice(&mut self, offset: usize, length: usize)

Slices this [Array]. Read more
source§

unsafe fn slice_unchecked(&mut self, offset: usize, length: usize)

Slices the [Array]. Read more
source§

fn split_at_boxed(&self, offset: usize) -> (Box<dyn Array>, Box<dyn Array>)

Split [Self] at offset into two boxed [Array]s where offset <= self.len().
source§

unsafe fn split_at_boxed_unchecked( &self, offset: usize ) -> (Box<dyn Array>, Box<dyn Array>)

Split [Self] at offset into two boxed [Array]s without checking offset <= self.len(). Read more
source§

fn len(&self) -> usize

The length of the [Array]. Every array has a length corresponding to the number of elements (slots).
source§

fn validity(&self) -> Option<&Bitmap>

The validity of the [Array]: every array has an optional [Bitmap] that, when available specifies whether the array slot is valid or not (null). When the validity is None, all slots are valid.
source§

fn with_validity(&self, validity: Option<Bitmap>) -> Box<dyn Array>

Clones this [Array] with a new new assigned bitmap. Read more
source§

fn to_boxed(&self) -> Box<dyn Array>

Clone a &dyn Array to an owned Box<dyn Array>.
source§

fn as_any_mut(&mut self) -> &mut dyn Any

Converts itself to a mutable reference of Any, which enables mutable downcasting to concrete types.
source§

fn null_count(&self) -> usize

The number of null slots on this [Array]. Read more
§

fn is_empty(&self) -> bool

whether the array is empty
§

fn is_null(&self, i: usize) -> bool

Returns whether slot i is null. Read more
§

unsafe fn is_null_unchecked(&self, i: usize) -> bool

Returns whether slot i is null. Read more
§

fn is_valid(&self, i: usize) -> bool

Returns whether slot i is valid. Read more
§

fn sliced(&self, offset: usize, length: usize) -> Box<dyn Array>

Returns a slice of this [Array]. Read more
§

unsafe fn sliced_unchecked( &self, offset: usize, length: usize ) -> Box<dyn Array>

Returns a slice of this [Array]. Read more
source§

impl<'a, T: PolarsObject> ArrayFromIter<&'a T> for ObjectArray<T>

source§

fn arr_from_iter<I: IntoIterator<Item = &'a T>>(iter: I) -> Self

source§

fn try_arr_from_iter<E, I: IntoIterator<Item = Result<&'a T, E>>>( iter: I ) -> Result<Self, E>

§

fn arr_from_iter_trusted<I>(iter: I) -> Self
where I: IntoIterator<Item = T>, <I as IntoIterator>::IntoIter: TrustedLen,

§

fn try_arr_from_iter_trusted<E, I>(iter: I) -> Result<Self, E>
where I: IntoIterator<Item = Result<T, E>>, <I as IntoIterator>::IntoIter: TrustedLen,

source§

impl<'a, T: PolarsObject> ArrayFromIter<Option<&'a T>> for ObjectArray<T>

source§

fn arr_from_iter<I: IntoIterator<Item = Option<&'a T>>>(iter: I) -> Self

source§

fn try_arr_from_iter<E, I: IntoIterator<Item = Result<Option<&'a T>, E>>>( iter: I ) -> Result<Self, E>

§

fn arr_from_iter_trusted<I>(iter: I) -> Self
where I: IntoIterator<Item = T>, <I as IntoIterator>::IntoIter: TrustedLen,

§

fn try_arr_from_iter_trusted<E, I>(iter: I) -> Result<Self, E>
where I: IntoIterator<Item = Result<T, E>>, <I as IntoIterator>::IntoIter: TrustedLen,

source§

impl<T> Clone for ObjectArray<T>
where T: PolarsObject + Clone,

source§

fn clone(&self) -> ObjectArray<T>

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for ObjectArray<T>
where T: PolarsObject + Debug,

source§

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

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

impl<T: PolarsObject> IfThenElseKernel for ObjectArray<T>

Available on crate feature zip_with only.
§

type Scalar<'a> = &'a T

source§

fn if_then_else(mask: &Bitmap, if_true: &Self, if_false: &Self) -> Self

source§

fn if_then_else_broadcast_true( mask: &Bitmap, if_true: Self::Scalar<'_>, if_false: &Self ) -> Self

source§

fn if_then_else_broadcast_false( mask: &Bitmap, if_true: &Self, if_false: Self::Scalar<'_> ) -> Self

source§

fn if_then_else_broadcast_both( _dtype: ArrowDataType, mask: &Bitmap, if_true: Self::Scalar<'_>, if_false: Self::Scalar<'_> ) -> Self

source§

impl<'a, T: PolarsObject> IntoIterator for &'a ObjectArray<T>

§

type Item = Option<&'a T>

The type of the elements being iterated over.
§

type IntoIter = ObjectIter<'a, T>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<T: PolarsObject> ParameterFreeDtypeStaticArray for ObjectArray<T>

source§

impl<T: PolarsObject> Splitable for ObjectArray<T>

source§

fn check_bound(&self, offset: usize) -> bool

source§

unsafe fn _split_at_unchecked(&self, offset: usize) -> (Self, Self)

Internal implementation of split_at_unchecked. For any usage, prefer the using split_at or split_at_unchecked. Read more
§

fn split_at(&self, offset: usize) -> (Self, Self)

Split [Self] at offset where offset <= self.len().
§

unsafe fn split_at_unchecked(&self, offset: usize) -> (Self, Self)

Split [Self] at offset without checking offset <= self.len(). Read more
source§

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

§

type ValueT<'a> = &'a T

§

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

§

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

source§

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

Safety Read more
source§

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

source§

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

source§

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

source§

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

§

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

§

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

Safety Read more
§

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: ArrowDataType) -> Self

§

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

§

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

source§

impl<T: PolarsObject> ArrowArray for ObjectArray<T>

Auto Trait Implementations§

§

impl<T> !Freeze for ObjectArray<T>

§

impl<T> RefUnwindSafe for ObjectArray<T>
where T: RefUnwindSafe,

§

impl<T> Send for ObjectArray<T>

§

impl<T> Sync for ObjectArray<T>

§

impl<T> Unpin for ObjectArray<T>

§

impl<T> UnwindSafe for ObjectArray<T>
where T: RefUnwindSafe,

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
§

impl<T, A> ArrayFromIterDtype<T> for A
where A: ParameterFreeDtypeStaticArray + ArrayFromIter<T>,

§

fn arr_from_iter_with_dtype<I>(dtype: ArrowDataType, iter: I) -> A
where I: IntoIterator<Item = T>,

§

fn arr_from_iter_trusted_with_dtype<I>(dtype: ArrowDataType, iter: I) -> A
where I: IntoIterator<Item = T>, <I as IntoIterator>::IntoIter: TrustedLen,

§

fn try_arr_from_iter_with_dtype<E, I>( dtype: ArrowDataType, iter: I ) -> Result<A, E>
where I: IntoIterator<Item = Result<T, E>>,

§

fn try_arr_from_iter_trusted_with_dtype<E, I>( dtype: ArrowDataType, iter: I ) -> Result<A, E>
where I: IntoIterator<Item = Result<T, E>>, <I as IntoIterator>::IntoIter: TrustedLen,

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> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<A> IsValid for A
where A: ArrowArray,

§

unsafe fn is_valid_unchecked(&self, i: usize) -> bool

Safety Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<A> PolarsArray for A
where A: Array + ?Sized,

§

fn has_validity(&self) -> bool

§

impl<T> SlicedArray for T
where T: Array + Clone,

§

fn slice_typed(&self, offset: usize, length: usize) -> T

Slices this [Array]. Read more
§

unsafe fn slice_typed_unchecked(&self, offset: usize, length: usize) -> T

Slices the [Array]. Read more
source§

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

§

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V