AvltrieeSearch

Trait AvltrieeSearch 

Source
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§

Source

fn cmp(left: &I, right: &I) -> Ordering

Source

fn value(&self, row: NonZero<u32>) -> Option<&I>

Source

unsafe fn value_unchecked(&self, row: NonZero<u32>) -> &I

Source

unsafe fn node_value_unchecked( &self, row: NonZero<u32>, ) -> (&AvltrieeNode<T>, &I)

Provided Methods§

Source

fn row(&self, value: &I) -> Option<NonZero<u32>>

Search row of a value.

Source

fn edge(&self, value: &I) -> (Option<NonZero<u32>>, Ordering)

Finds the edge of a node from the specified value.

Source

fn ge(&self, value: &I) -> Option<NonZero<u32>>

Search >= value.

Source

fn le(&self, value: &I) -> Option<NonZero<u32>>

Search <= value.

Source

fn gt(&self, value: &I) -> Option<NonZero<u32>>

Search > value.

Source

fn lt(&self, value: &I) -> Option<NonZero<u32>>

Search < value.

Source

fn range(&self, start_value: &I, end_value: &I) -> Option<Range<NonZero<u32>>>

Search with range value with custom ord.

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.

Implementors§