pub struct ArrayView { /* private fields */ }
Expand description
Zero-copy view over flatbuffer-encoded array data, created without eager serialization.
Implementations§
Source§impl ArrayView
impl ArrayView
pub fn try_new<F>( ctx: Arc<Context>, dtype: DType, len: usize, flatbuffer: Buffer, flatbuffer_init: F, buffers: Vec<Buffer>, ) -> VortexResult<Self>
pub fn flatbuffer(&self) -> Array<'_>
pub fn encoding(&self) -> EncodingRef
pub fn dtype(&self) -> &DType
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn metadata(&self) -> Option<&[u8]>
pub fn child(&self, idx: usize, dtype: &DType, len: usize) -> VortexResult<Self>
pub fn nchildren(&self) -> usize
pub fn children(&self) -> Vec<Array>
Sourcepub fn has_buffer(&self) -> bool
pub fn has_buffer(&self) -> bool
Whether the current Array makes use of a buffer
pub fn buffer(&self) -> Option<&Buffer>
pub fn statistics(&self) -> &dyn Statistics
Trait Implementations§
Source§impl Statistics for ArrayView
impl Statistics for ArrayView
Source§fn to_set(&self) -> StatsSet
fn to_set(&self) -> StatsSet
NB: part of the contract for to_set is that it does not do any expensive computation. In other implementations, this means returning the underlying stats map, but for the flatbuffer implemetation, we have ‘precalculated’ stats in the flatbuffer itself, so we need to alllocate a stats map and populate it with those fields.
Source§fn set(&self, _stat: Stat, _value: Scalar)
fn set(&self, _stat: Stat, _value: Scalar)
We want to avoid any sort of allocation on instantiation of the ArrayView, so we do not allocate a stats_set to cache values.
Source§fn get(&self, stat: Stat) -> Option<Scalar>
fn get(&self, stat: Stat) -> Option<Scalar>
Returns the value of the statistic only if it’s present
Source§fn compute(&self, stat: Stat) -> Option<Scalar>
fn compute(&self, stat: Stat) -> Option<Scalar>
Computes the value of the stat if it’s not present
Source§fn compute_all(&self, stats: &[Stat]) -> VortexResult<StatsSet>
fn compute_all(&self, stats: &[Stat]) -> VortexResult<StatsSet>
Compute all of the requested statistics (if not already present)
Returns a StatsSet with the requested stats and any additional available stats
Auto Trait Implementations§
impl !Freeze for ArrayView
impl !RefUnwindSafe for ArrayView
impl Send for ArrayView
impl Sync for ArrayView
impl Unpin for ArrayView
impl !UnwindSafe for ArrayView
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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