pub trait Comparator<K>where
K: Copy,{
// Required method
fn cmp(&self, a: K, b: K) -> Ordering;
// Provided method
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§
Provided Methods§
sourcefn search(&self, k: K, s: &[K]) -> Result<usize, usize>
fn search(&self, k: K, s: &[K]) -> Result<usize, usize>
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§
source§impl<K> Comparator<K> for ()
impl<K> Comparator<K> for ()
Trivial comparator that doesn’t actually provide any context.