Expand description
Basic comparator factories shared by Arrow crates that need to compare
arbitrary array slots without pulling in the full arrow-ord crate.
The only public surface is make_comparator (with DynComparator as the
returned function type). arrow-ord re-exports both from here, so its
public API is unchanged.
This crate exists so that crates such as arrow-select can use slot-wise
comparison (e.g. for the run-end-encoded take fast path) without taking on
the full ordering kernel suite โ which would either create a circular
dependency (arrow-ord already depends on arrow-select) or force every
downstream user of arrow-array to compile the comparator machinery whether
they need it or not.
Functionsยง
- child_
opts ๐ - If parent sort order is descending we need to invert the value of nulls_first so that when the parent is sorted based on the produced ranks, nulls are still ordered correctly
- compare ๐
- compare_
boolean ๐ - compare_
byte_ ๐view - compare_
byte_ ๐view_ values - compare_
bytes ๐ - compare_
dict ๐ - compare_
fixed_ ๐list - compare_
impl ๐ - compare_
list ๐ - compare_
list_ ๐view - compare_
map ๐ - compare_
primitive ๐ - compare_
run_ ๐end_ encoded - compare_
struct ๐ - compare_
union ๐ - make_
comparator - Returns a comparison function that compares two values at two arbitrary indices.
Type Aliasesยง
- DynComparator
- Compare values at arbitrary indices in two arrays.