pub struct RFRNode<K: KeyPrefix + Clone, V: Clone> {
pub node_key: TrieKey<K>,
pub value: Option<V>,
pub children: Vec<Box<RFRNode<K, V>>>,
/* private fields */
}Fields§
§node_key: TrieKey<K>§value: Option<V>The key and value stored at this node.
children: Vec<Box<RFRNode<K, V>>>Implementations§
Source§impl<K, V> RFRNode<K, V>
impl<K, V> RFRNode<K, V>
pub fn new() -> Self
pub fn new_aux(node_key: TrieKey<K>) -> Self
pub fn new_leaf_with_prefix(node_key: TrieKey<K>, value: V) -> Self
pub fn strip_prefix(&mut self, prefix_len: usize)
pub fn insert(&mut self, key: TrieKey<K>, value: Option<V>) -> Option<V>
pub fn lookup<M: PushdownStateMachine + Clone>( &self, match_key: &K, ) -> TrieIterator<'_, K, V, M> ⓘ
pub fn get<M: PushdownStateMachine + Clone>(&self, key: &K) -> Option<V>
pub fn get_merge<M: PushdownStateMachine + Clone>(&self, key: &K) -> Option<V>where
V: ValueMerge + Debug,
pub fn iter(&self) -> Iter<'_, Box<RFRNode<K, V>>>
pub fn foreach<F>(&self, level: usize, f: &F)
Trait Implementations§
Source§impl<'de, K, V> Deserialize<'de> for RFRNode<K, V>
impl<'de, K, V> Deserialize<'de> for RFRNode<K, V>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<K, V> Freeze for RFRNode<K, V>
impl<K, V> RefUnwindSafe for RFRNode<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for RFRNode<K, V>
impl<K, V> Sync for RFRNode<K, V>
impl<K, V> Unpin for RFRNode<K, V>
impl<K, V> UnwindSafe for RFRNode<K, V>where
K: UnwindSafe,
V: UnwindSafe,
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