Struct idx_binary::Avltriee
pub struct Avltriee<T> { /* private fields */ }Implementations§
§impl<T> Avltriee<T>
impl<T> Avltriee<T>
pub fn rows_count(&self) -> u32
pub fn rows_count(&self) -> u32
Return count of rows.
§impl<T> Avltriee<T>
impl<T> Avltriee<T>
pub fn iter(&self) -> AvltrieeIter<'_, T> ⓘ
pub fn iter(&self) -> AvltrieeIter<'_, T> ⓘ
Generate an iterator.
pub fn desc_iter(&self) -> AvltrieeIter<'_, T> ⓘ
pub fn desc_iter(&self) -> AvltrieeIter<'_, T> ⓘ
Generate an iterator. Iterates in descending order.
pub fn iter_by<F, 'a>(&'a self, cmp: F) -> AvltrieeIter<'a, T> ⓘ
pub fn iter_by<F, 'a>(&'a self, cmp: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with the same value as the specified value.
pub fn iter_from<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
pub fn iter_from<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator with values starting from the specified value.
pub fn desc_iter_from<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
pub fn desc_iter_from<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator with values starting from the specified value. Iterates in descending order.
pub fn iter_over<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
pub fn iter_over<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with values greater than the specified value.
pub fn desc_iter_over<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
pub fn desc_iter_over<F, 'a>(&'a self, search: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with values greater than the specified value. Iterates in descending order.
pub fn iter_to<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
pub fn iter_to<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with values less than or equal to the specified value.
pub fn desc_iter_to<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
pub fn desc_iter_to<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with values less than or equal to the specified value. Iterates in descending order.
pub fn iter_under<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
pub fn iter_under<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with values less than the specified value.
pub fn desc_iter_under<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
pub fn desc_iter_under<F, 'a>(&'a self, search_from: F) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with values less than the specified value. Iterates in descending order.
pub fn iter_range<S, E, 'a>(&'a self, start: S, end: E) -> AvltrieeIter<'a, T> ⓘ
pub fn iter_range<S, E, 'a>(&'a self, start: S, end: E) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with the specified range of values.
pub fn desc_iter_range<S, E, 'a>(
&'a self,
start: S,
end: E
) -> AvltrieeIter<'a, T> ⓘ
pub fn desc_iter_range<S, E, 'a>( &'a self, start: S, end: E ) -> AvltrieeIter<'a, T> ⓘ
Generates an iterator of nodes with the specified range of values. Iterates in descending order.
§impl<T> Avltriee<T>
impl<T> Avltriee<T>
pub fn delete(&mut self, row: NonZeroU32)
pub fn delete(&mut self, row: NonZeroU32)
Delete the specified row.
§impl<T> Avltriee<T>
impl<T> Avltriee<T>
pub async fn insert(&mut self, value: T) -> NonZeroU32
pub async fn insert(&mut self, value: T) -> NonZeroU32
Creates a new row and assigns a value to it.
pub async fn update(&mut self, row: NonZeroU32, value: T)
pub async fn update(&mut self, row: NonZeroU32, value: T)
Updates the value in the specified row. If you specify a row that does not exist, space will be automatically allocated. If you specify a row that is too large, memory may be allocated unnecessarily.
pub async fn update_with_holder<I>(
holder: &mut dyn AvltrieeHolder<T, I>,
row: NonZeroU32,
input: I
)
pub async fn update_with_holder<I>( holder: &mut dyn AvltrieeHolder<T, I>, row: NonZeroU32, input: I )
Updates the value of the specified row via trait AvltrieeHolder. If you specify a row that does not exist, space will be automatically allocated. If you specify a row that is too large, memory may be allocated unnecessarily.
pub unsafe fn insert_unique_unchecked(
&mut self,
row: NonZeroU32,
value: T,
found: Found
)
pub unsafe fn insert_unique_unchecked( &mut self, row: NonZeroU32, value: T, found: Found )
Insert a unique value. If you specify a row that does not exist, space will be automatically allocated. If you specify a row that is too large, memory may be allocated unnecessarily.
Safety
value must be unique.
§impl<T> Avltriee<T>
impl<T> Avltriee<T>
pub fn with_allocator(allocator: Box<dyn AvltrieeAllocator<T>>) -> Avltriee<T>
pub fn with_allocator(allocator: Box<dyn AvltrieeAllocator<T>>) -> Avltriee<T>
Creates the Avltriee
pub fn get(&self, row: NonZeroU32) -> Option<&AvltrieeNode<T>>
pub fn get(&self, row: NonZeroU32) -> Option<&AvltrieeNode<T>>
Returns the node of the specified row.
pub unsafe fn get_unchecked(&self, row: NonZeroU32) -> &AvltrieeNode<T>
pub fn is_unique(&self, row: NonZeroU32) -> Option<(bool, &AvltrieeNode<T>)>
pub fn is_unique(&self, row: NonZeroU32) -> Option<(bool, &AvltrieeNode<T>)>
Checks whether the specified row is a node with a unique value.