Trait zenoh_keyexpr::keyexpr_tree::traits::IKeyExprTree
source · pub trait IKeyExprTree<'a, Weight> {
type Node: IKeyExprTreeNodeMut<Weight>;
type TreeIterItem;
type TreeIter: Iterator<Item = Self::TreeIterItem>;
type IntersectionItem;
type Intersection: Iterator<Item = Self::IntersectionItem>;
type InclusionItem;
type Inclusion: Iterator<Item = Self::InclusionItem>;
// Required methods
fn node(&'a self, key: &keyexpr) -> Option<&Self::Node>;
fn tree_iter(&'a self) -> Self::TreeIter;
fn intersecting_nodes(&'a self, key: &'a keyexpr) -> Self::Intersection;
fn included_nodes(&'a self, key: &'a keyexpr) -> Self::Inclusion;
}Expand description
The basic immutable methods of all all KeTrees
Required Associated Types§
type Node: IKeyExprTreeNodeMut<Weight>
type TreeIterItem
type TreeIter: Iterator<Item = Self::TreeIterItem>
type IntersectionItem
type Intersection: Iterator<Item = Self::IntersectionItem>
type InclusionItem
type Inclusion: Iterator<Item = Self::InclusionItem>
Required Methods§
sourcefn node(&'a self, key: &keyexpr) -> Option<&Self::Node>
fn node(&'a self, key: &keyexpr) -> Option<&Self::Node>
Accesses the node at key if it exists, treating KEs as if they were litteral keys.
sourcefn tree_iter(&'a self) -> Self::TreeIter
fn tree_iter(&'a self) -> Self::TreeIter
Iterates over the whole tree, including nodes with no weight.
sourcefn intersecting_nodes(&'a self, key: &'a keyexpr) -> Self::Intersection
fn intersecting_nodes(&'a self, key: &'a keyexpr) -> Self::Intersection
Iterates over all nodes of the tree whose KE intersects with the given key.
Note that nodes without a Weight will also be yielded by the iterator.
sourcefn included_nodes(&'a self, key: &'a keyexpr) -> Self::Inclusion
fn included_nodes(&'a self, key: &'a keyexpr) -> Self::Inclusion
Iterates over all nodes of the tree whose KE is included by the given key.
Note that nodes without a Weight will also be yielded by the iterator.