pub trait AvltrieeSearch<T, I, A>: AsRef<Avltriee<T, I, A>>where
A: AvltrieeAllocator<T>,
I: ?Sized,{
// Required methods
fn cmp(left: &I, right: &I) -> Ordering;
fn value(&self, row: NonZero<u32>) -> Option<&I>;
unsafe fn value_unchecked(&self, row: NonZero<u32>) -> &I;
unsafe fn node_value_unchecked(
&self,
row: NonZero<u32>,
) -> (&AvltrieeNode<T>, &I);
// Provided methods
fn row(&self, value: &I) -> Option<NonZero<u32>> { ... }
fn edge(&self, value: &I) -> (Option<NonZero<u32>>, Ordering) { ... }
fn ge(&self, value: &I) -> Option<NonZero<u32>> { ... }
fn le(&self, value: &I) -> Option<NonZero<u32>> { ... }
fn gt(&self, value: &I) -> Option<NonZero<u32>> { ... }
fn lt(&self, value: &I) -> Option<NonZero<u32>> { ... }
fn range(
&self,
start_value: &I,
end_value: &I,
) -> Option<Range<NonZero<u32>>> { ... }
}Required Methods§
fn cmp(left: &I, right: &I) -> Ordering
fn value(&self, row: NonZero<u32>) -> Option<&I>
unsafe fn value_unchecked(&self, row: NonZero<u32>) -> &I
unsafe fn node_value_unchecked( &self, row: NonZero<u32>, ) -> (&AvltrieeNode<T>, &I)
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.