Trait cranelift_codegen::bforest::Comparator [−][src]
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> { ... } }
Key comparator.
Keys don't need to implement Ord. They are compared using a comparator object which
provides a context for comparison.
Required Methods
fn cmp(&self, a: K, b: K) -> Ordering
Compare keys a and b.
This relation must provide a total ordering or the key space.
Provided Methods
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
impl<K> Comparator<K> for () where
K: Copy + Ord, [src]
impl<K> Comparator<K> for () where
K: Copy + Ord, Trivial comparator that doesn't actually provide any context.
Implementors
impl<PO: ProgramOrder> Comparator<Ebb> for PO