Struct idx_binary::IdxBinary
source · pub struct IdxBinary<T> { /* private fields */ }Implementations§
source§impl<T: DataAddressHolder<T>> IdxBinary<T>
impl<T: DataAddressHolder<T>> IdxBinary<T>
sourcepub fn new<P: AsRef<Path>>(path: P, allocation_lot: u32) -> Self
pub fn new<P: AsRef<Path>>(path: P, allocation_lot: u32) -> Self
Opens the file and creates the IdxBinary
Arguments
path- Path of file to save dataallocation_lot- Extends the specified size when the file size becomes insufficient due to data addition. If you expect to add a lot of data, specifying a larger size will improve performance.
sourcepub fn bytes(&self, row: NonZeroU32) -> Option<&'static [u8]>
pub fn bytes(&self, row: NonZeroU32) -> Option<&'static [u8]>
Returns the value of the specified row. Returns None if the row does not exist.
sourcepub async fn update(&mut self, row: NonZeroU32, content: &[u8])where
T: Copy,
pub async fn update(&mut self, row: NonZeroU32, content: &[u8])where
T: Copy,
Updates the byte string of the specified row. If row does not exist, it will be expanded automatically..
Methods from Deref<Target = IdxFile<T>>§
sourcepub fn value(&self, row: NonZeroU32) -> Option<&T>
pub fn value(&self, row: NonZeroU32) -> Option<&T>
Gets the value of the specified row. Returns None if a non-existent row is specified.
sourcepub fn allocate(&mut self, min_capacity: NonZeroU32)
pub fn allocate(&mut self, min_capacity: NonZeroU32)
Expand data storage space.
Arguments
min_capacity- Specify the number of rows to expand. If allocation_lot is a larger value, it may be expanded by allocation_lot.
sourcepub fn create_row(&mut self) -> NonZeroU32
pub fn create_row(&mut self) -> NonZeroU32
Add capacity for new row.
sourcepub 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..
sourcepub async fn update_with_allocate(&mut self, row: NonZeroU32, value: T)
pub async fn update_with_allocate(&mut self, row: NonZeroU32, value: T)
Updates the value of the specified row. If capacity is insufficient, it will be expanded automatically.
sourcepub fn exists(&self, row: NonZeroU32) -> bool
pub fn exists(&self, row: NonZeroU32) -> bool
Check if row exists.
Methods from Deref<Target = Avltriee<T>>§
pub fn update_max_rows(&mut self, rows: u32)
pub fn max_rows(&self) -> u32
pub fn iter(&self) -> AvltrieeIter<'_, T> ⓘ
pub fn desc_iter(&self) -> AvltrieeIter<'_, T> ⓘ
pub fn iter_by<F, 'a>(&'a self, cmp: F) -> AvltrieeIter<'a, T> ⓘ
pub fn 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> ⓘ
pub fn 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> ⓘ
pub fn 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> ⓘ
pub fn 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> ⓘ
pub fn 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> ⓘ
pub fn delete(&mut self, target_row: NonZeroU32)
pub async unsafe fn update(&mut self, row: NonZeroU32, value: T)
pub unsafe fn insert_unique(&mut self, row: NonZeroU32, value: T, found: Found)
pub unsafe fn node<'a>(&self, row: NonZeroU32) -> Option<&'a AvltrieeNode<T>>
pub unsafe fn value(&self, row: NonZeroU32) -> Option<&T>
pub unsafe fn value_unchecked(&self, row: NonZeroU32) -> &T
pub fn search_end<F>(&self, cmp: F) -> Found
pub unsafe fn is_unique(&self, row: NonZeroU32) -> bool
Trait Implementations§
source§impl<T: DataAddressHolder<T>> AvltrieeHolder<T, &[u8]> for IdxBinary<T>
impl<T: DataAddressHolder<T>> AvltrieeHolder<T, &[u8]> for IdxBinary<T>
fn cmp(&self, left: &T, right: &&[u8]) -> Ordering
fn search_end(&self, input: &&[u8]) -> Found
fn value(&mut self, input: &[u8]) -> T
fn delete_before_update<'life0, 'life1, 'async_trait>(
&'life0 mut self,
row: NonZeroU32,
delete_node: &'life1 T
) -> Pin<Box<dyn Future<Output = ()> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl<T> RefUnwindSafe for IdxBinary<T>where
T: RefUnwindSafe,
impl<T> !Send for IdxBinary<T>
impl<T> !Sync for IdxBinary<T>
impl<T> Unpin for IdxBinary<T>
impl<T> UnwindSafe for IdxBinary<T>where
T: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more