Struct polars_arrow::ffi::ArrowArrayStreamReader
source · pub struct ArrowArrayStreamReader<Iter: DerefMut<Target = ArrowArrayStream>> { /* private fields */ }
Expand description
Implements an iterator of Array
consumed from the C stream interface.
Implementations§
source§impl<Iter: DerefMut<Target = ArrowArrayStream>> ArrowArrayStreamReader<Iter>
impl<Iter: DerefMut<Target = ArrowArrayStream>> ArrowArrayStreamReader<Iter>
sourcepub unsafe fn try_new(iter: Iter) -> PolarsResult<Self>
pub unsafe fn try_new(iter: Iter) -> PolarsResult<Self>
Returns a new ArrowArrayStreamReader
§Error
Errors iff the ArrowArrayStream
is out of specification,
or was already released prior to calling this function.
§Safety
This method is intrinsically unsafe
since it assumes that the ArrowArrayStream
contains a valid Arrow C stream interface.
In particular:
- The
ArrowArrayStream
fulfills the invariants of the C stream interface - The schema
get_schema
produces fulfills the C data interface
sourcepub unsafe fn next(&mut self) -> Option<PolarsResult<Box<dyn Array>>>
pub unsafe fn next(&mut self) -> Option<PolarsResult<Box<dyn Array>>>
Advances this iterator by one array
§Error
Errors iff:
- The C stream interface returns an error
- The C stream interface returns an invalid array (that we can identify, see Safety below)
§Safety
Calling this iterator’s next
assumes that the ArrowArrayStream
produces arrow arrays
that fulfill the C data interface
Auto Trait Implementations§
impl<Iter> Freeze for ArrowArrayStreamReader<Iter>where
Iter: Freeze,
impl<Iter> RefUnwindSafe for ArrowArrayStreamReader<Iter>where
Iter: RefUnwindSafe,
impl<Iter> Send for ArrowArrayStreamReader<Iter>where
Iter: Send,
impl<Iter> Sync for ArrowArrayStreamReader<Iter>where
Iter: Sync,
impl<Iter> Unpin for ArrowArrayStreamReader<Iter>where
Iter: Unpin,
impl<Iter> UnwindSafe for ArrowArrayStreamReader<Iter>where
Iter: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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