pub trait TrieCommon<'a, K, V: 'a>: ContainsTrieNode<'a, K, V>where
    K: TrieKey + 'a,
    Self: Sized,{
    // Required methods
    fn len(self) -> usize;
    fn children(self) -> Children<'a, K, V> ;

    // Provided methods
    fn key(self) -> Option<&'a K> { ... }
    fn value(self) -> Option<&'a V> { ... }
    fn is_empty(self) -> bool { ... }
    fn is_leaf(self) -> bool { ... }
    fn iter(self) -> Iter<'a, K, V>  { ... }
    fn keys(self) -> Keys<'a, K, V>  { ... }
    fn values(self) -> Values<'a, K, V>  { ... }
    fn prefix(self) -> &'a Nibblet { ... }
}
Expand description

Common functionality available for tries and subtries.

Required Methods§

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.

Provided Methods§

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.

Object Safety§

This trait is not object safe.

Implementors§

source§

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

source§

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

source§

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

source§

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