CursorValues

Trait CursorValues 

Source
pub trait CursorValues {
    // Required methods
    fn len(&self) -> usize;
    fn eq(l: &Self, l_idx: usize, r: &Self, r_idx: usize) -> bool;
    fn eq_to_previous(cursor: &Self, idx: usize) -> bool;
    fn compare(l: &Self, l_idx: usize, r: &Self, r_idx: usize) -> Ordering;
}
Expand description

A comparable collection of values for use with Cursor

This is a trait as there are several specialized implementations, such as for single columns or for normalized multi column keys ([Rows])

Required Methods§

Source

fn len(&self) -> usize

Source

fn eq(l: &Self, l_idx: usize, r: &Self, r_idx: usize) -> bool

Returns true if l[l_idx] == r[r_idx]

Source

fn eq_to_previous(cursor: &Self, idx: usize) -> bool

Returns true if row[idx] == row[idx - 1] Given idx should be greater than 0

Source

fn compare(l: &Self, l_idx: usize, r: &Self, r_idx: usize) -> Ordering

Returns comparison of l[l_idx] and r[r_idx]

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CursorValues for StringViewArray

Source§

fn len(&self) -> usize

Source§

fn eq(l: &Self, l_idx: usize, r: &Self, r_idx: usize) -> bool

Source§

fn eq_to_previous(cursor: &Self, idx: usize) -> bool

Source§

fn compare(l: &Self, l_idx: usize, r: &Self, r_idx: usize) -> Ordering

Implementors§

Source§

impl CursorValues for RowValues

Source§

impl<T: CursorValues> CursorValues for ArrayValues<T>

Source§

impl<T: ArrowNativeTypeOp> CursorValues for PrimitiveValues<T>

Source§

impl<T: OffsetSizeTrait> CursorValues for ByteArrayValues<T>