Path: blob/main/crates/polars-arrow/src/array/binview/iterator.rs
6939 views
use super::BinaryViewArrayGeneric;1use crate::array::binview::ViewType;2use crate::array::{ArrayAccessor, ArrayValuesIter, MutableBinaryViewArray};3use crate::bitmap::utils::{BitmapIter, ZipValidity};45unsafe impl<'a, T: ViewType + ?Sized> ArrayAccessor<'a> for BinaryViewArrayGeneric<T> {6type Item = &'a T;78#[inline]9unsafe fn value_unchecked(&'a self, index: usize) -> Self::Item {10self.value_unchecked(index)11}1213#[inline]14fn len(&self) -> usize {15self.views.len()16}17}1819/// Iterator of values of an [`BinaryArray`].20pub type BinaryViewValueIter<'a, T> = ArrayValuesIter<'a, BinaryViewArrayGeneric<T>>;2122impl<'a, T: ViewType + ?Sized> IntoIterator for &'a BinaryViewArrayGeneric<T> {23type Item = Option<&'a T>;24type IntoIter = ZipValidity<&'a T, BinaryViewValueIter<'a, T>, BitmapIter<'a>>;2526fn into_iter(self) -> Self::IntoIter {27self.iter()28}29}3031unsafe impl<'a, T: ViewType + ?Sized> ArrayAccessor<'a> for MutableBinaryViewArray<T> {32type Item = &'a T;3334#[inline]35unsafe fn value_unchecked(&'a self, index: usize) -> Self::Item {36self.value_unchecked(index)37}3839#[inline]40fn len(&self) -> usize {41self.views().len()42}43}4445/// Iterator of values of an [`MutableBinaryViewArray`].46pub type MutableBinaryViewValueIter<'a, T> = ArrayValuesIter<'a, MutableBinaryViewArray<T>>;474849