Offsets

Struct Offsets 

Source
pub struct Offsets<T, Nulls: Nullability = NonNullable, OffsetItem: Offset = i32, Buffer: BufferType = VecBuffer> {
    pub data: T,
    pub offsets: Nulls::Collection<Buffer::Buffer<OffsetItem>, Buffer>,
}
Expand description

Offsets abstraction.

Fields§

§data: T

The data

§offsets: Nulls::Collection<Buffer::Buffer<OffsetItem>, Buffer>

The offsets

Implementations§

Source§

impl<T, Nulls: Nullability, OffsetItem: Offset, Buffer: BufferType> Offsets<T, Nulls, OffsetItem, Buffer>
where Offsets<T, Nulls, OffsetItem, Buffer>: Index,

Source

pub fn iter(&self) -> OffsetIter<'_, Nulls, T, OffsetItem, Buffer>

Returns an iteratover over the offset items in this Offsets.

Trait Implementations§

Source§

impl<T, OffsetItem: Offset, Buffer: BufferType> BitmapRef for Offsets<T, Nullable, OffsetItem, Buffer>

Source§

type Buffer = Buffer

The buffer type of the bitmap.
Source§

fn bitmap_ref(&self) -> &Bitmap<Self::Buffer>

Returns a reference to an immutable Bitmap.
Source§

impl<T, OffsetItem: Offset, Buffer: BufferType> BitmapRefMut for Offsets<T, Nullable, OffsetItem, Buffer>

Source§

fn bitmap_ref_mut(&mut self) -> &mut Bitmap<Self::Buffer>

Returns a mutable reference to a Bitmap.
Source§

impl<T, Nulls: Nullability, OffsetItem: Offset, Buffer: BufferType> Clone for Offsets<T, Nulls, OffsetItem, Buffer>
where T: Clone, Nulls::Collection<Buffer::Buffer<OffsetItem>, Buffer>: Clone,

Source§

fn clone(&self) -> Self

Returns a duplicate 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: Default, OffsetItem: Offset, Buffer> Default for Offsets<T, NonNullable, OffsetItem, Buffer>
where Buffer: BufferType<Buffer<OffsetItem>: Default + Extend<OffsetItem>>,

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T: Default, OffsetItem: Offset, Buffer> Default for Offsets<T, Nullable, OffsetItem, Buffer>
where Buffer: BufferType<Buffer<OffsetItem>: Extend<OffsetItem>>, Validity<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: Default,

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T, U, OffsetItem: Offset, Buffer> Extend<Option<U>> for Offsets<T, Nullable, OffsetItem, Buffer>
where T: Extend<<U as IntoIterator>::Item>, U: IntoIterator + Length, Buffer: BufferType, Validity<Buffer::Buffer<OffsetItem>, Buffer>: Extend<(bool, OffsetItem)>,

Source§

fn extend<I: IntoIterator<Item = Option<U>>>(&mut self, iter: I)

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Source§

impl<T, U, OffsetItem: Offset, Buffer> Extend<U> for Offsets<T, NonNullable, OffsetItem, Buffer>
where T: Extend<<U as IntoIterator>::Item>, U: IntoIterator + Length, Buffer: BufferType<Buffer<OffsetItem>: Extend<OffsetItem>>,

Source§

fn extend<I: IntoIterator<Item = U>>(&mut self, iter: I)

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Source§

impl<T, OffsetItem: Offset, Buffer> From<Offsets<T, NonNullable, OffsetItem, Buffer>> for Offsets<T, Nullable, OffsetItem, Buffer>
where Buffer: BufferType<Buffer<OffsetItem>: Length>, Bitmap<Buffer>: FromIterator<bool>,

Source§

fn from(value: Offsets<T, NonNullable, OffsetItem, Buffer>) -> Self

Converts to this type from the input type.
Source§

impl<T, U, OffsetItem: Offset, Buffer: BufferType> FromIterator<IntoIter<U>> for Offsets<T, Nullable, OffsetItem, Buffer>
where Self: Default, T: Extend<<U as IntoIterator>::Item>, U: IntoIterator + Length, <Nullable as Nullability>::Collection<Buffer::Buffer<OffsetItem>, Buffer>: Extend<(bool, OffsetItem)>,

Source§

fn from_iter<I: IntoIterator<Item = IntoIter<U>>>(iter: I) -> Self

Creates a value from an iterator. Read more
Source§

impl<T, U, OffsetItem: Offset, Buffer: BufferType> FromIterator<Option<U>> for Offsets<T, Nullable, OffsetItem, Buffer>
where Self: Default, T: Extend<<U as IntoIterator>::Item>, U: IntoIterator + Length, <Nullable as Nullability>::Collection<Buffer::Buffer<OffsetItem>, Buffer>: Extend<(bool, OffsetItem)>,

Source§

fn from_iter<I: IntoIterator<Item = Option<U>>>(iter: I) -> Self

Creates a value from an iterator. Read more
Source§

impl<T, U, OffsetItem: Offset, Buffer> FromIterator<U> for Offsets<T, NonNullable, OffsetItem, Buffer>
where Self: Default, T: Extend<<U as IntoIterator>::Item>, U: IntoIterator + Length, Buffer: BufferType<Buffer<OffsetItem>: Extend<OffsetItem>>,

Source§

fn from_iter<I: IntoIterator<Item = U>>(iter: I) -> Self

Creates a value from an iterator. Read more
Source§

impl<T, OffsetItem: Offset, Buffer: BufferType> Index for Offsets<T, NonNullable, OffsetItem, Buffer>

Source§

type Item<'a> = OffsetSlice<'a, T, NonNullable, OffsetItem, Buffer> where Self: 'a

The item.
Source§

unsafe fn index_unchecked(&self, index: usize) -> Self::Item<'_>

Returns the value at given index. Skips bound checking. Read more
Source§

fn index(&self, index: usize) -> Option<Self::Item<'_>>

Returns the value at given index. Returns None if the index is out of range.
Source§

fn index_checked(&self, index: usize) -> Self::Item<'_>

Returns the value at given index. Panics if the index is out of bounds. Read more
Source§

impl<T, OffsetItem: Offset, Buffer: BufferType> Index for Offsets<T, Nullable, OffsetItem, Buffer>

Source§

type Item<'a> = Option<OffsetSlice<'a, T, Nullable, OffsetItem, Buffer>> where Self: 'a

The item.
Source§

unsafe fn index_unchecked(&self, index: usize) -> Self::Item<'_>

Returns the value at given index. Skips bound checking. Read more
Source§

fn index(&self, index: usize) -> Option<Self::Item<'_>>

Returns the value at given index. Returns None if the index is out of range.
Source§

fn index_checked(&self, index: usize) -> Self::Item<'_>

Returns the value at given index. Panics if the index is out of bounds. Read more
Source§

impl<'a, Nulls: Nullability, T, OffsetItem: Offset, Buffer> IntoIterator for &'a Offsets<T, Nulls, OffsetItem, Buffer>
where Buffer: BufferType, Offsets<T, Nulls, OffsetItem, Buffer>: Index,

Source§

type Item = <Offsets<T, Nulls, OffsetItem, Buffer> as Index>::Item<'a>

The type of the elements being iterated over.
Source§

type IntoIter = OffsetIter<'a, Nulls, T, OffsetItem, Buffer>

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, OffsetItem: Offset, Buffer> IntoIterator for Offsets<T, NonNullable, OffsetItem, Buffer>
where T: IntoIterator, Buffer: BufferType<Buffer<OffsetItem>: IntoIterator<Item = OffsetItem>>,

Source§

type Item = Vec<<T as IntoIterator>::Item>

The type of the elements being iterated over.
Source§

type IntoIter = OffsetIntoIter<T, OffsetItem, Buffer>

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, OffsetItem: Offset, Buffer> IntoIterator for Offsets<T, Nullable, OffsetItem, Buffer>
where T: IntoIterator, Bitmap<Buffer>: IntoIterator<Item = bool>, Buffer: BufferType<Buffer<OffsetItem>: IntoIterator<Item = OffsetItem>>,

Source§

type Item = Option<Vec<<T as IntoIterator>::Item>>

The type of the elements being iterated over.
Source§

type IntoIter = Map<Zip<<Bitmap<Buffer> as IntoIterator>::IntoIter, <OffsetIntoIter<T, OffsetItem, Buffer> as IntoIterator>::IntoIter>, fn((bool, Vec<<T as IntoIterator>::Item>)) -> <Offsets<T, Nullable, OffsetItem, Buffer> as IntoIterator>::Item>

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, OffsetItem: Offset, Buffer: BufferType> Length for Offsets<T, NonNullable, OffsetItem, Buffer>

Source§

fn len(&self) -> usize

Returns the number of elements in the collection, also referred to as its length.
Source§

fn is_empty(&self) -> bool

Returns true if there are no elements in the collection.
Source§

impl<T, OffsetItem: Offset, Buffer: BufferType> Length for Offsets<T, Nullable, OffsetItem, Buffer>

Source§

fn len(&self) -> usize

Returns the number of elements in the collection, also referred to as its length.
Source§

fn is_empty(&self) -> bool

Returns true if there are no elements in the collection.
Source§

impl<T, OffsetItem: Offset, Buffer: BufferType> ValidityBitmap for Offsets<T, Nullable, OffsetItem, Buffer>

Source§

fn is_null(&self, index: usize) -> Option<bool>

Returns true if the element at position index is null.
Source§

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

Returns true if the element at position index is null, without performing any bounds checking. Read more
Source§

fn null_count(&self) -> usize

Returns the number of null elements.
Source§

fn is_valid(&self, index: usize) -> Option<bool>

Returns true if the element at position index is valid.
Source§

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

Returns true if the element at position index is valid, without performing any bounds checking. Read more
Source§

fn valid_count(&self) -> usize

Returns the number of valid elements.
Source§

fn any_null(&self) -> bool

Returns true if the array contains at least one null element.
Source§

fn all_null(&self) -> bool

Returns true if all the elements are null.
Source§

fn any_valid(&self) -> bool

Returns true if the array contains at least one valid element.
Source§

fn all_valid(&self) -> bool

Returns true if all the elements are valid.

Auto Trait Implementations§

§

impl<T, Nulls, OffsetItem, Buffer> Freeze for Offsets<T, Nulls, OffsetItem, Buffer>
where T: Freeze, <Nulls as Nullability>::Collection<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: Freeze,

§

impl<T, Nulls, OffsetItem, Buffer> RefUnwindSafe for Offsets<T, Nulls, OffsetItem, Buffer>
where T: RefUnwindSafe, <Nulls as Nullability>::Collection<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: RefUnwindSafe,

§

impl<T, Nulls, OffsetItem, Buffer> Send for Offsets<T, Nulls, OffsetItem, Buffer>
where T: Send, <Nulls as Nullability>::Collection<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: Send,

§

impl<T, Nulls, OffsetItem, Buffer> Sync for Offsets<T, Nulls, OffsetItem, Buffer>
where T: Sync, <Nulls as Nullability>::Collection<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: Sync,

§

impl<T, Nulls, OffsetItem, Buffer> Unpin for Offsets<T, Nulls, OffsetItem, Buffer>
where T: Unpin, <Nulls as Nullability>::Collection<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: Unpin,

§

impl<T, Nulls, OffsetItem, Buffer> UnwindSafe for Offsets<T, Nulls, OffsetItem, Buffer>
where T: UnwindSafe, <Nulls as Nullability>::Collection<<Buffer as BufferType>::Buffer<OffsetItem>, Buffer>: UnwindSafe,

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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> ToOwned for T
where T: Clone,

Source§

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

Source§

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

Source§

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

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,