pub trait Comparator<K>where
    K: Copy,
{ fn cmp(&self, a: K, b: K) -> Ordering; fn search(&self, k: K, s: &[K]) -> Result<usize, usize> { ... } }
Expand description

Key comparator.

Keys don’t need to implement Ord. They are compared using a comparator object which provides a context for comparison.

Required Methods§

Compare keys a and b.

This relation must provide a total ordering or the key space.

Provided Methods§

Binary search for k in an ordered slice.

Assume that s is already sorted according to this ordering, search for the key k.

Returns Ok(idx) if k was found in the slice or Err(idx) with the position where it should be inserted to preserve the ordering.

Implementations on Foreign Types§

Trivial comparator that doesn’t actually provide any context.

Implementors§