pub struct Tree<P: Prefixable, D> { /* private fields */ }
Expand description
Tree struct.
Implementations§
Source§impl<P: Prefixable, D> Tree<P, D>
Tree impl.
impl<P: Prefixable, D> Tree<P, D>
Tree impl.
Sourcepub fn get_node(&mut self, prefix: &P) -> NodeIterator<P, D> ⓘ
pub fn get_node(&mut self, prefix: &P) -> NodeIterator<P, D> ⓘ
Get node with given prefix, create one if it doesn’t exist.
Sourcepub fn get_node_ctor<F>(
&mut self,
prefix: &P,
ctor: Option<F>,
) -> NodeIterator<P, D> ⓘwhere
F: Fn() -> D,
pub fn get_node_ctor<F>(
&mut self,
prefix: &P,
ctor: Option<F>,
) -> NodeIterator<P, D> ⓘwhere
F: Fn() -> D,
Get node with given prefix, create one if it doesn’t exist. And also construct ‘D’ with given constructor.
Sourcepub fn insert(&mut self, prefix: &P, data: D) -> Option<D>
pub fn insert(&mut self, prefix: &P, data: D) -> Option<D>
Insert data with given prefix, and return:
- Some(data) if data already exist with the prefix.
- None if successfully inserted the data.
Sourcepub fn update(&mut self, prefix: &P, data: D) -> Option<D>
pub fn update(&mut self, prefix: &P, data: D) -> Option<D>
Update data with given prefix, and return:
- old data if data exists and successfully replace.
- None if data does not exist, and replace does not occur.
Sourcepub fn upsert(&mut self, prefix: &P, data: D) -> Option<D>
pub fn upsert(&mut self, prefix: &P, data: D) -> Option<D>
Insert if data does not exist, or Update, and return:
- old data if data exists and successfully replace.
- None if data does not exist.
Sourcepub fn delete(&mut self, prefix: &P) -> Option<D>
pub fn delete(&mut self, prefix: &P) -> Option<D>
Delete data with the prefix if data exist, and return:
- old data if data exists and successfully delete.
- None if data does not exist.
Sourcepub fn lookup_exact(&self, prefix: &P) -> NodeIterator<P, D> ⓘ
pub fn lookup_exact(&self, prefix: &P) -> NodeIterator<P, D> ⓘ
Perform exact match lookup.
Sourcepub fn lookup(&self, prefix: &P) -> NodeIterator<P, D> ⓘ
pub fn lookup(&self, prefix: &P) -> NodeIterator<P, D> ⓘ
Perform longest match lookup.
Sourcepub fn erase(&mut self, it: NodeIterator<P, D>) -> NodeIterator<P, D> ⓘ
pub fn erase(&mut self, it: NodeIterator<P, D>) -> NodeIterator<P, D> ⓘ
Erase a node from tree, and return iterator for next node.
Sourcepub fn node_iter(&self) -> NodeIterator<P, D> ⓘ
pub fn node_iter(&self) -> NodeIterator<P, D> ⓘ
Return node iterator.
Trait Implementations§
Source§impl<P: Prefixable, D> IntoIterator for &Tree<P, D>
Tree IntoIterator.
impl<P: Prefixable, D> IntoIterator for &Tree<P, D>
Tree IntoIterator.
Auto Trait Implementations§
impl<P, D> Freeze for Tree<P, D>
impl<P, D> !RefUnwindSafe for Tree<P, D>
impl<P, D> !Send for Tree<P, D>
impl<P, D> !Sync for Tree<P, D>
impl<P, D> Unpin for Tree<P, D>
impl<P, D> !UnwindSafe for Tree<P, D>
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