Struct radix_trie::SubTrieMut

source ·
pub struct SubTrieMut<'a, K: 'a, V: 'a> { /* private fields */ }
Expand description

Mutable view of a sub-tree of a larger trie.

Implementations§

source§

impl<'a, K, V> SubTrieMut<'a, K, V>
where K: TrieKey,

source

pub fn value_mut(&mut self) -> Option<&mut V>

Mutable reference to the node’s value.

source

pub fn get<Q>(&self, key: &Q) -> SubTrieResult<&V>
where K: Borrow<Q>, Q: TrieKey + ?Sized,

Look up the value for the given key, which should be an extension of this subtrie’s key.

The key may be any borrowed form of the trie’s key type, but TrieKey on the borrowed form must match those for the key type

source

pub fn insert(&mut self, key: K, value: V) -> SubTrieResult<V>

Insert a value in this subtrie. The key should be an extension of this subtrie’s key.

source

pub fn remove<Q>(&mut self, key: &Q) -> SubTrieResult<V>
where K: Borrow<Q>, Q: TrieKey + ?Sized,

Remove a value from this subtrie. The key should be an extension of this subtrie’s key.

The key may be any borrowed form of the trie’s key type, but TrieKey on the borrowed form must match those for the key type

Trait Implementations§

source§

impl<'a, K: Debug + 'a, V: Debug + 'a> Debug for SubTrieMut<'a, K, V>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a, K, V: 'a> TrieCommon<'a, K, V> for SubTrieMut<'a, K, V>
where K: TrieKey + 'a,

source§

fn len(self) -> usize

Computes from scratch.

source§

fn children(self) -> Children<'a, K, V>

Return an iterator over the child subtries of this node.
source§

fn key(self) -> Option<&'a K>

Get the key stored at this node, if any.
source§

fn value(self) -> Option<&'a V>

Get the value stored at this node, if any.
source§

fn is_empty(self) -> bool

Determine if the Trie contains 0 key-value pairs.
source§

fn is_leaf(self) -> bool

Determine if the trie is a leaf node (has no children).
source§

fn iter(self) -> Iter<'a, K, V>

Return an iterator over the keys and values of the Trie.
source§

fn keys(self) -> Keys<'a, K, V>

Return an iterator over the keys of the Trie.
source§

fn values(self) -> Values<'a, K, V>

Return an iterator over the values of the Trie.
source§

fn prefix(self) -> &'a Nibblet

Get the prefix of this node.
source§

impl<'a: 'b, 'b, K, V: 'a> TrieCommon<'b, K, V> for &'b SubTrieMut<'a, K, V>
where K: TrieKey + 'a,

source§

fn len(self) -> usize

Number of key/value pairs stored in this trie.
source§

fn children(self) -> Children<'b, K, V>

Return an iterator over the child subtries of this node.
source§

fn key(self) -> Option<&'a K>

Get the key stored at this node, if any.
source§

fn value(self) -> Option<&'a V>

Get the value stored at this node, if any.
source§

fn is_empty(self) -> bool

Determine if the Trie contains 0 key-value pairs.
source§

fn is_leaf(self) -> bool

Determine if the trie is a leaf node (has no children).
source§

fn iter(self) -> Iter<'a, K, V>

Return an iterator over the keys and values of the Trie.
source§

fn keys(self) -> Keys<'a, K, V>

Return an iterator over the keys of the Trie.
source§

fn values(self) -> Values<'a, K, V>

Return an iterator over the values of the Trie.
source§

fn prefix(self) -> &'a Nibblet

Get the prefix of this node.

Auto Trait Implementations§

§

impl<'a, K, V> Freeze for SubTrieMut<'a, K, V>

§

impl<'a, K, V> RefUnwindSafe for SubTrieMut<'a, K, V>

§

impl<'a, K, V> Send for SubTrieMut<'a, K, V>
where K: Send, V: Send,

§

impl<'a, K, V> Sync for SubTrieMut<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Unpin for SubTrieMut<'a, K, V>

§

impl<'a, K, V> !UnwindSafe for SubTrieMut<'a, K, V>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.