RunEncodedEncoder

结构体 RunEncodedEncoder 

源代码
struct RunEncodedEncoder<'a, R: RunEndIndexType> {
    ends_slice: &'a [<R as ArrowPrimitiveType>::Native],
    base: usize,
    len: usize,
    values: FieldEncoder<'a>,
    cur_run: usize,
    cur_end: usize,
}
展开描述

用于 Arrow RunArray<R>-based 站点(行程编码)的通用编码器。遵循其他通用编码器(例如 ListEncoder<O>)使用的模式,避免了行程结束宽度上的运行时分支。

字段§

§ends_slice: &'a [<R as ArrowPrimitiveType>::Native]§base: usize§len: usize§values: FieldEncoder<'a>§cur_run: usize§cur_end: usize

实现§

§

impl<'a, R: RunEndIndexType> RunEncodedEncoder<'a, R>

源代码

fn new(arr: &'a RunArray<R>, values: FieldEncoder<'a>) -> Self

源代码

fn advance_to_row(&mut self, idx: usize) -> Result<(), ArrowError>

推进 cur_run,使 idx 位于以 cur_end 结束的运行中。使用 REE 不变式:运行结束严格递增、为正且从 1 开始。

源代码

fn encode<W: Write + ?Sized>( &mut self, out: &mut W, idx: usize, ) -> Result<(), ArrowError>

自动 Trait 实现§

§

impl<'a, R> Freeze for RunEncodedEncoder<'a, R>

§

impl<'a, R> !RefUnwindSafe for RunEncodedEncoder<'a, R>

§

impl<'a, R> Send for RunEncodedEncoder<'a, R>

§

impl<'a, R> Sync for RunEncodedEncoder<'a, R>

§

impl<'a, R> Unpin for RunEncodedEncoder<'a, R>

§

impl<'a, R> !UnwindSafe for RunEncodedEncoder<'a, R>

通用实现§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

获取 selfTypeId阅读更多
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

从拥有的值进行不可变借用。 阅读更多
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

从拥有的值进行可变借用。 阅读更多
§

impl<T> From<T> for T

§

fn from(t: T) -> T

返回未更改的参数。

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

调用 U::from(self)

也就是说,此转换是 From<T> for U 的实现选择执行的任何操作。

§

impl<T> Same for T

§

type Output = T

应该总是 Self
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

转换错误时返回的类型。
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

转换错误时返回的类型。
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V