pub struct Offsets<O>(Vec<O>)
where
O: Offset;
Expand description
A wrapper type of Vec<O>
representing the invariants of Arrow’s offsets.
It is guaranteed to (sound to assume that):
- every element is
>= 0
- element at position
i
is >= than element at positioni-1
.
Tuple Fields§
§0: Vec<O>
Implementations§
§impl<O> Offsets<O>where
O: Offset,
impl<O> Offsets<O>where
O: Offset,
pub fn new_zeroed(length: usize) -> Offsets<O>
pub fn new_zeroed(length: usize) -> Offsets<O>
Returns an Offsets
whose all lengths are zero.
pub fn try_from_iter<I>(iter: I) -> Result<Offsets<O>, Error>where
I: IntoIterator<Item = usize>,
pub fn try_from_iter<I>(iter: I) -> Result<Offsets<O>, Error>where
I: IntoIterator<Item = usize>,
Creates a new Offsets
from an iterator of lengths
pub fn with_capacity(capacity: usize) -> Offsets<O>
pub fn with_capacity(capacity: usize) -> Offsets<O>
Returns a new Offsets
with a capacity, allocating at least capacity + 1
entries.
pub fn shrink_to_fit(&mut self)
pub fn shrink_to_fit(&mut self)
Shrinks the capacity of self to fit.
pub fn try_push_usize(&mut self, length: usize) -> Result<(), Error>
pub fn try_push_usize(&mut self, length: usize) -> Result<(), Error>
pub unsafe fn new_unchecked(offsets: Vec<O>) -> Offsets<O>
pub unsafe fn new_unchecked(offsets: Vec<O>) -> Offsets<O>
pub fn start_end(&self, index: usize) -> (usize, usize)
pub fn start_end(&self, index: usize) -> (usize, usize)
Returns a range (start, end) corresponding to the position index
§Panic
This function panics iff index >= self.len()
pub unsafe fn start_end_unchecked(&self, index: usize) -> (usize, usize)
pub unsafe fn start_end_unchecked(&self, index: usize) -> (usize, usize)
pub fn extend_constant(&mut self, additional: usize)
pub fn extend_constant(&mut self, additional: usize)
Extends itself with additional
elements equal to the last offset.
This is useful to extend offsets with empty values, e.g. for null slots.
pub fn try_from_lengths<I>(lengths: I) -> Result<Offsets<O>, Error>
pub fn try_from_lengths<I>(lengths: I) -> Result<Offsets<O>, Error>
pub fn try_extend_from_lengths<I>(&mut self, lengths: I) -> Result<(), Error>
pub fn try_extend_from_lengths<I>(&mut self, lengths: I) -> Result<(), Error>
Try extend from an iterator of lengths
§Errors
This function errors iff this operation overflows for the maximum value of O
.
pub fn try_extend_from_self(&mut self, other: &Offsets<O>) -> Result<(), Error>
pub fn try_extend_from_self(&mut self, other: &Offsets<O>) -> Result<(), Error>
pub fn try_extend_from_slice(
&mut self,
other: &OffsetsBuffer<O>,
start: usize,
length: usize
) -> Result<(), Error>
pub fn try_extend_from_slice( &mut self, other: &OffsetsBuffer<O>, start: usize, length: usize ) -> Result<(), Error>
pub fn into_inner(self) -> Vec<O>
pub fn into_inner(self) -> Vec<O>
Returns the inner Vec
.
Trait Implementations§
§impl<O> From<Offsets<O>> for OffsetsBuffer<O>where
O: Offset,
impl<O> From<Offsets<O>> for OffsetsBuffer<O>where
O: Offset,
§fn from(offsets: Offsets<O>) -> OffsetsBuffer<O>
fn from(offsets: Offsets<O>) -> OffsetsBuffer<O>
Converts to this type from the input type.
§impl<O> PartialEq for Offsets<O>
impl<O> PartialEq for Offsets<O>
impl<O> Eq for Offsets<O>
impl<O> StructuralPartialEq for Offsets<O>where
O: Offset,
Auto Trait Implementations§
impl<O> Freeze for Offsets<O>
impl<O> RefUnwindSafe for Offsets<O>
impl<O> Send for Offsets<O>
impl<O> Sync for Offsets<O>
impl<O> Unpin for Offsets<O>where
O: Unpin,
impl<O> UnwindSafe for Offsets<O>where
O: 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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moresource§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.