Struct narrow::offset::Offset

source ·
pub struct Offset<T, const NULLABLE: bool = false, OffsetItem: OffsetElement = i32, Buffer: BufferType = VecBuffer>
where <Buffer as BufferType>::Buffer<OffsetItem>: Validity<NULLABLE>,
{ pub data: T, pub offsets: <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<Buffer>, }
Expand description

Offset abstraction.

Fields§

§data: T

The data

§offsets: <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<Buffer>

The offsets

Implementations§

source§

impl<const NULLABLE: bool, T, OffsetItem: OffsetElement, Buffer: BufferType> Offset<T, NULLABLE, OffsetItem, Buffer>
where <Buffer as BufferType>::Buffer<OffsetItem>: Validity<NULLABLE>, Offset<T, NULLABLE, OffsetItem, Buffer>: Index,

source

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

Returns an iteratover over the offset items in this Offset.

Trait Implementations§

source§

impl<T, OffsetItem: OffsetElement, Buffer: BufferType> BitmapRef for Offset<T, true, OffsetItem, Buffer>

§

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: OffsetElement, Buffer: BufferType> BitmapRefMut for Offset<T, true, OffsetItem, Buffer>

source§

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

Returns a mutable reference to a Bitmap.
source§

impl<T: Default, OffsetItem: OffsetElement, Buffer: BufferType> Default for Offset<T, false, OffsetItem, Buffer>
where <Buffer as BufferType>::Buffer<OffsetItem>: Default + Extend<OffsetItem>,

source§

fn default() -> Self

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

impl<T: Default, OffsetItem: OffsetElement, Buffer: BufferType> Default for Offset<T, true, OffsetItem, Buffer>
where <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<true>>::Storage<Buffer>: Default, <Buffer as BufferType>::Buffer<OffsetItem>: Extend<OffsetItem>,

source§

fn default() -> Self

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

impl<T, U: IntoIterator + Length, OffsetItem: OffsetElement, Buffer: BufferType> Extend<Option<U>> for Offset<T, true, OffsetItem, Buffer>
where T: Extend<<U as IntoIterator>::Item>, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<true>>::Storage<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: IntoIterator + Length, OffsetItem: OffsetElement, Buffer: BufferType> Extend<U> for Offset<T, false, OffsetItem, Buffer>
where T: Extend<<U as IntoIterator>::Item>, <Buffer as 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: OffsetElement, Buffer: BufferType> From<Offset<T, false, OffsetItem, Buffer>> for Offset<T, true, OffsetItem, Buffer>
where <Buffer as BufferType>::Buffer<OffsetItem>: Length, Bitmap<Buffer>: FromIterator<bool>,

source§

fn from(value: Offset<T, false, OffsetItem, Buffer>) -> Self

Converts to this type from the input type.
source§

impl<T, U: IntoIterator + Length, OffsetItem: OffsetElement, Buffer: BufferType> FromIterator<Option<U>> for Offset<T, true, OffsetItem, Buffer>
where Self: Default, T: Extend<<U as IntoIterator>::Item>, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<true>>::Storage<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: IntoIterator + Length, OffsetItem: OffsetElement, Buffer: BufferType> FromIterator<U> for Offset<T, false, OffsetItem, Buffer>
where Self: Default, T: Extend<<U as IntoIterator>::Item>, <Buffer as 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: OffsetElement, Buffer: BufferType> Index for Offset<T, false, OffsetItem, Buffer>

§

type Item<'a> = OffsetSlice<'a, T, false, 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: OffsetElement, Buffer: BufferType> Index for Offset<T, true, OffsetItem, Buffer>

§

type Item<'a> = Option<OffsetSlice<'a, T, true, 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, const NULLABLE: bool, T, OffsetItem: OffsetElement, Buffer: BufferType> IntoIterator for &'a Offset<T, NULLABLE, OffsetItem, Buffer>
where <Buffer as BufferType>::Buffer<OffsetItem>: Validity<NULLABLE>, Offset<T, NULLABLE, OffsetItem, Buffer>: Index,

§

type Item = <Offset<T, NULLABLE, OffsetItem, Buffer> as Index>::Item<'a>

The type of the elements being iterated over.
§

type IntoIter = OffsetIter<'a, NULLABLE, 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: OffsetElement, Buffer: BufferType> Length for Offset<T, false, 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: OffsetElement, Buffer: BufferType> Length for Offset<T, true, 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: OffsetElement, Buffer: BufferType> ValidityBitmap for Offset<T, true, 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, const NULLABLE: bool, OffsetItem, Buffer> RefUnwindSafe for Offset<T, NULLABLE, OffsetItem, Buffer>
where T: RefUnwindSafe, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<Buffer>: RefUnwindSafe,

§

impl<T, const NULLABLE: bool, OffsetItem, Buffer> Send for Offset<T, NULLABLE, OffsetItem, Buffer>
where T: Send, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<Buffer>: Send,

§

impl<T, const NULLABLE: bool, OffsetItem, Buffer> Sync for Offset<T, NULLABLE, OffsetItem, Buffer>
where T: Sync, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<Buffer>: Sync,

§

impl<T, const NULLABLE: bool, OffsetItem, Buffer> Unpin for Offset<T, NULLABLE, OffsetItem, Buffer>
where T: Unpin, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<Buffer>: Unpin,

§

impl<T, const NULLABLE: bool, OffsetItem, Buffer> UnwindSafe for Offset<T, NULLABLE, OffsetItem, Buffer>
where T: UnwindSafe, <<Buffer as BufferType>::Buffer<OffsetItem> as Validity<NULLABLE>>::Storage<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> 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, 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.
source§

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