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§

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

Search row of a value.

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

Finds the edge of a node from the specified value.

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

Search >= value.

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

Search <= value.

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

Search > value.

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

Search < value.

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

Search with range value with custom ord.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl AvltrieeSearch<DataAddress, [u8], IdxFileAllocator<DataAddress>> for IdxBinary

§

impl<T, A> AvltrieeSearch<T, T, A> for Avltriee<T, T, A>
where T: Ord + Clone, A: AvltrieeAllocator<T>,