Trait zenoh_keyexpr::keyexpr_tree::traits::ITokenKeyExprTree
source · pub trait ITokenKeyExprTree<'a, Weight, Token> {
Show 25 associated items
type Node: IKeyExprTreeNode<Weight>;
type NodeMut: IKeyExprTreeNodeMut<Weight>;
type TreeIterItem;
type TreeIter: Iterator<Item = Self::TreeIterItem>;
type TreeIterItemMut;
type TreeIterMut: Iterator<Item = Self::TreeIterItemMut>;
type IntersectionItem;
type Intersection: Iterator<Item = Self::IntersectionItem>;
type IntersectionItemMut;
type IntersectionMut: Iterator<Item = Self::IntersectionItemMut>;
type InclusionItem;
type Inclusion: Iterator<Item = Self::InclusionItem>;
type InclusionItemMut;
type InclusionMut: Iterator<Item = Self::InclusionItemMut>;
type PruneNode: IKeyExprTreeNodeMut<Weight>;
// Required methods
fn node(&'a self, token: &'a Token, key: &keyexpr) -> Option<Self::Node>;
fn node_mut(
&'a self,
token: &'a mut Token,
key: &keyexpr
) -> Option<Self::NodeMut>;
fn node_or_create(
&'a self,
token: &'a mut Token,
key: &keyexpr
) -> Self::NodeMut;
fn tree_iter(&'a self, token: &'a Token) -> Self::TreeIter;
fn tree_iter_mut(&'a self, token: &'a mut Token) -> Self::TreeIterMut;
fn intersecting_nodes(
&'a self,
token: &'a Token,
key: &'a keyexpr
) -> Self::Intersection;
fn intersecting_nodes_mut(
&'a self,
token: &'a mut Token,
key: &'a keyexpr
) -> Self::IntersectionMut;
fn included_nodes(
&'a self,
token: &'a Token,
key: &'a keyexpr
) -> Self::Inclusion;
fn included_nodes_mut(
&'a self,
token: &'a mut Token,
key: &'a keyexpr
) -> Self::InclusionMut;
fn prune_where<F: FnMut(&mut Self::PruneNode) -> bool>(
&self,
token: &mut Token,
predicate: F
);
}Expand description
The basic operations of a KeTree when a Token is necessary to acess data.
Required Associated Types§
type Node: IKeyExprTreeNode<Weight>
type NodeMut: IKeyExprTreeNodeMut<Weight>
type TreeIterItem
type TreeIter: Iterator<Item = Self::TreeIterItem>
type TreeIterItemMut
type TreeIterMut: Iterator<Item = Self::TreeIterItemMut>
type IntersectionItem
type Intersection: Iterator<Item = Self::IntersectionItem>
type IntersectionItemMut
type IntersectionMut: Iterator<Item = Self::IntersectionItemMut>
type InclusionItem
type Inclusion: Iterator<Item = Self::InclusionItem>
type InclusionItemMut
type InclusionMut: Iterator<Item = Self::InclusionItemMut>
type PruneNode: IKeyExprTreeNodeMut<Weight>
Required Methods§
fn node(&'a self, token: &'a Token, key: &keyexpr) -> Option<Self::Node>
fn node_mut( &'a self, token: &'a mut Token, key: &keyexpr ) -> Option<Self::NodeMut>
fn node_or_create( &'a self, token: &'a mut Token, key: &keyexpr ) -> Self::NodeMut
fn tree_iter(&'a self, token: &'a Token) -> Self::TreeIter
fn tree_iter_mut(&'a self, token: &'a mut Token) -> Self::TreeIterMut
fn intersecting_nodes( &'a self, token: &'a Token, key: &'a keyexpr ) -> Self::Intersection
fn intersecting_nodes_mut( &'a self, token: &'a mut Token, key: &'a keyexpr ) -> Self::IntersectionMut
fn included_nodes( &'a self, token: &'a Token, key: &'a keyexpr ) -> Self::Inclusion
fn included_nodes_mut( &'a self, token: &'a mut Token, key: &'a keyexpr ) -> Self::InclusionMut
fn prune_where<F: FnMut(&mut Self::PruneNode) -> bool>( &self, token: &mut Token, predicate: F )
Object Safety§
This trait is not object safe.