pub struct NodeRef<'a> { /* private fields */ }
Implementations§
Methods from Deref<Target = Tree>§
pub fn get_shard_index(&self, id: &NodeId) -> usize
pub fn get_shard_indices(&self, ids: &[&NodeId]) -> Vec<usize>
pub fn get_shard_index_batch<'a>( &self, ids: &'a [&'a NodeId], ) -> Vec<(usize, &'a NodeId)>
pub fn contains_node(&self, id: &NodeId) -> bool
pub fn get_node(&self, id: &NodeId) -> Option<Arc<Node>>
pub fn get_parent_node(&self, id: &NodeId) -> Option<Arc<Node>>
pub fn update_attr( &mut self, id: &NodeId, new_values: HashMap<String, Value>, ) -> PoolResult<()>
pub fn update_node(&mut self, node: Node) -> PoolResult<()>
pub fn add_at_index( &mut self, parent_id: &NodeId, index: usize, node: &Node, ) -> PoolResult<()>
pub fn add_node( &mut self, parent_id: &NodeId, nodes: &Vec<Node>, ) -> PoolResult<()>
pub fn node(&mut self, key: &str) -> NodeRef<'_>
pub fn mark(&mut self, key: &str) -> MarkRef<'_>
pub fn attrs(&mut self, key: &str) -> AttrsRef<'_>
pub fn children(&self, parent_id: &NodeId) -> Option<Vector<NodeId>>
pub fn children_node(&self, parent_id: &NodeId) -> Option<Vector<Arc<Node>>>
pub fn all_children( &self, parent_id: &NodeId, filter: Option<&dyn Fn(&Node) -> bool>, ) -> Option<NodeEnum>
pub fn children_count(&self, parent_id: &NodeId) -> usize
pub fn remove_mark_by_name( &mut self, id: &NodeId, mark_name: &str, ) -> PoolResult<()>
pub fn get_marks(&self, id: &NodeId) -> Option<Vector<Mark>>
pub fn remove_mark( &mut self, id: &NodeId, mark_types: &[String], ) -> PoolResult<()>
pub fn add_mark(&mut self, id: &NodeId, marks: &Vec<Mark>) -> PoolResult<()>
pub fn move_node( &mut self, source_parent_id: &NodeId, target_parent_id: &NodeId, node_id: &NodeId, position: Option<usize>, ) -> PoolResult<()>
pub fn remove_node( &mut self, parent_id: &NodeId, nodes: Vec<NodeId>, ) -> PoolResult<()>
pub fn remove_node_by_id(&mut self, node_id: &NodeId) -> PoolResult<()>
Sourcepub fn remove_node_by_index(
&mut self,
parent_id: &NodeId,
index: usize,
) -> PoolResult<()>
pub fn remove_node_by_index( &mut self, parent_id: &NodeId, index: usize, ) -> PoolResult<()>
根据下标删除
Trait Implementations§
Source§impl<'a> Add<(usize, Node)> for NodeRef<'a>
为 NodeRef 实现自定义的 + 运算符,用于在指定位置添加单个节点
当使用 + 运算符时,会将新节点添加到当前节点的子节点列表中的指定位置
impl<'a> Add<(usize, Node)> for NodeRef<'a>
为 NodeRef 实现自定义的 + 运算符,用于在指定位置添加单个节点 当使用 + 运算符时,会将新节点添加到当前节点的子节点列表中的指定位置
Source§impl<'a> Add<Node> for NodeRef<'a>
为 NodeRef 实现自定义的 + 运算符,用于添加单个节点
当使用 + 运算符时,会将新节点添加到当前节点的子节点列表中
impl<'a> Add<Node> for NodeRef<'a>
为 NodeRef 实现自定义的 + 运算符,用于添加单个节点 当使用 + 运算符时,会将新节点添加到当前节点的子节点列表中
Source§impl<'a> Add<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 + 运算符,用于添加多个节点
当使用 + 运算符时,会将多个新节点添加到当前节点的子节点列表中
impl<'a> Add<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 + 运算符,用于添加多个节点 当使用 + 运算符时,会将多个新节点添加到当前节点的子节点列表中
Source§impl<'a> BitAnd<String> for NodeRef<'a>
为 NodeRef 实现自定义的 & 运算符,用于过滤特定类型的子节点
当使用 & 运算符时,会保留指定类型的子节点,移除其他类型的子节点
impl<'a> BitAnd<String> for NodeRef<'a>
为 NodeRef 实现自定义的 & 运算符,用于过滤特定类型的子节点 当使用 & 运算符时,会保留指定类型的子节点,移除其他类型的子节点
Source§impl<'a> BitAnd<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 & 运算符,用于保留多个指定类型的子节点
当使用 & 运算符时,会保留匹配任一指定类型的子节点,移除其他类型的子节点
impl<'a> BitAnd<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 & 运算符,用于保留多个指定类型的子节点 当使用 & 运算符时,会保留匹配任一指定类型的子节点,移除其他类型的子节点
Source§impl<'a> BitOr<String> for NodeRef<'a>
为 NodeRef 实现自定义的 | 运算符,用于合并另一个节点的所有子节点
当使用 | 运算符时,会将另一个节点的所有子节点复制到当前节点中
impl<'a> BitOr<String> for NodeRef<'a>
为 NodeRef 实现自定义的 | 运算符,用于合并另一个节点的所有子节点 当使用 | 运算符时,会将另一个节点的所有子节点复制到当前节点中
Source§impl<'a> BitOr<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 | 运算符,用于直接合并节点列表
当使用 | 运算符时,会将提供的节点列表合并到当前节点中
impl<'a> BitOr<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 | 运算符,用于直接合并节点列表 当使用 | 运算符时,会将提供的节点列表合并到当前节点中
Source§impl<'a> BitOr<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 | 运算符,用于合并多个节点的子节点
当使用 | 运算符时,会将多个节点的所有子节点复制到当前节点中
impl<'a> BitOr<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 | 运算符,用于合并多个节点的子节点 当使用 | 运算符时,会将多个节点的所有子节点复制到当前节点中
Source§impl<'a> Mul<String> for NodeRef<'a>
为 NodeRef 实现自定义的 * 运算符,用于复制指定节点到当前位置
当使用 * 运算符时,会将指定节点复制到当前节点的子节点列表中
impl<'a> Mul<String> for NodeRef<'a>
为 NodeRef 实现自定义的 * 运算符,用于复制指定节点到当前位置 当使用 * 运算符时,会将指定节点复制到当前节点的子节点列表中
Source§impl<'a> Mul<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 * 运算符,用于批量复制多个指定节点
当使用 * 运算符时,会将指定的多个节点复制到当前节点的子节点列表中
impl<'a> Mul<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 * 运算符,用于批量复制多个指定节点 当使用 * 运算符时,会将指定的多个节点复制到当前节点的子节点列表中
Source§impl<'a> Mul<usize> for NodeRef<'a>
为 NodeRef 实现自定义的 * 运算符,用于复制当前节点N次
当使用 * 运算符时,会将当前节点复制指定次数并添加到父节点中
impl<'a> Mul<usize> for NodeRef<'a>
为 NodeRef 实现自定义的 * 运算符,用于复制当前节点N次 当使用 * 运算符时,会将当前节点复制指定次数并添加到父节点中
Source§impl<'a> Shl<Node> for NodeRef<'a>
为 NodeRef 实现自定义的 << 运算符,用于在子节点列表开头插入单个节点
当使用 << 运算符时,会将新节点插入到当前节点的子节点列表的开头位置
impl<'a> Shl<Node> for NodeRef<'a>
为 NodeRef 实现自定义的 << 运算符,用于在子节点列表开头插入单个节点 当使用 << 运算符时,会将新节点插入到当前节点的子节点列表的开头位置
Source§impl<'a> Shl<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 << 运算符,用于在子节点列表开头插入多个节点
当使用 << 运算符时,会将多个新节点依次插入到当前节点的子节点列表的开头位置
impl<'a> Shl<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 << 运算符,用于在子节点列表开头插入多个节点 当使用 << 运算符时,会将多个新节点依次插入到当前节点的子节点列表的开头位置
Source§impl<'a> Shl<usize> for NodeRef<'a>
为 NodeRef 实现自定义的 << 运算符,用于在指定数量的位置处插入节点
当使用 << 运算符时,会将当前节点向左移动指定位置数
impl<'a> Shl<usize> for NodeRef<'a>
为 NodeRef 实现自定义的 << 运算符,用于在指定数量的位置处插入节点 当使用 << 运算符时,会将当前节点向左移动指定位置数
Source§impl<'a> Shr<Node> for NodeRef<'a>
为 NodeRef 实现自定义的 >> 运算符,用于在子节点列表末尾添加单个节点
当使用 >> 运算符时,会将新节点添加到当前节点的子节点列表的末尾位置
impl<'a> Shr<Node> for NodeRef<'a>
为 NodeRef 实现自定义的 >> 运算符,用于在子节点列表末尾添加单个节点 当使用 >> 运算符时,会将新节点添加到当前节点的子节点列表的末尾位置
Source§impl<'a> Shr<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 >> 运算符,用于在子节点列表末尾添加多个节点
当使用 >> 运算符时,会将多个新节点添加到当前节点的子节点列表的末尾位置
impl<'a> Shr<Vec<Node>> for NodeRef<'a>
为 NodeRef 实现自定义的 >> 运算符,用于在子节点列表末尾添加多个节点 当使用 >> 运算符时,会将多个新节点添加到当前节点的子节点列表的末尾位置
Source§impl<'a> Shr<usize> for NodeRef<'a>
为 NodeRef 实现自定义的 >> 运算符,用于将当前节点向右移动指定位置
当使用 >> 运算符时,会将当前节点在其父节点的子节点列表中向右移动指定位置数
impl<'a> Shr<usize> for NodeRef<'a>
为 NodeRef 实现自定义的 >> 运算符,用于将当前节点向右移动指定位置 当使用 >> 运算符时,会将当前节点在其父节点的子节点列表中向右移动指定位置数
Source§impl<'a> Sub<String> for NodeRef<'a>
为 NodeRef 实现自定义的 - 运算符,用于删除单个节点
当使用 - 运算符时,会从当前节点的子节点列表中移除指定的节点
impl<'a> Sub<String> for NodeRef<'a>
为 NodeRef 实现自定义的 - 运算符,用于删除单个节点 当使用 - 运算符时,会从当前节点的子节点列表中移除指定的节点
Auto Trait Implementations§
impl<'a> Freeze for NodeRef<'a>
impl<'a> RefUnwindSafe for NodeRef<'a>
impl<'a> Send for NodeRef<'a>
impl<'a> Sync for NodeRef<'a>
impl<'a> Unpin for NodeRef<'a>
impl<'a> !UnwindSafe for NodeRef<'a>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more