Function re_sdk::external::arrow2::array::ord::build_compare

pub fn build_compare(
    left: &(dyn Array + 'static),
    right: &(dyn Array + 'static)
) -> Result<Box<dyn Fn(usize, usize) -> Ordering + Sync + Send>, Error>
Expand description

returns a comparison function that compares values at two different slots between two Array.

§Example

use re_arrow2::array::{ord::build_compare, PrimitiveArray};

let array1 = PrimitiveArray::from_slice([1, 2]);
let array2 = PrimitiveArray::from_slice([3, 4]);

let cmp = build_compare(&array1, &array2)?;

// 1 (index 0 of array1) is smaller than 4 (index 1 of array2)
assert_eq!(std::cmp::Ordering::Less, (cmp)(0, 1));

§Error

The arrays’ DataType must be equal and the types must have a natural order.