Struct radix_trie::SubTrie

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

Immutable view of a sub-tree a larger trie.

Implementations§

source§

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

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

Trait Implementations§

source§

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

source§

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

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

impl<'a: 'b, 'b, K, V: 'a> TrieCommon<'a, K, V> for &'b SubTrie<'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<'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.

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

impl<'a, K, V> UnwindSafe for SubTrie<'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.