pub struct NodeRef<'a> { /* private fields */ }
Implementations§
Methods from Deref<Target = Tree>§
pub fn get_shard_index(&self, id: &String) -> usize
pub fn get_shard_indices(&self, ids: &[&String]) -> Vec<usize>
pub fn get_shard_index_batch<'a>( &self, ids: &'a [&'a String], ) -> Vec<(usize, &'a String)>
pub fn contains_node(&self, id: &String) -> bool
pub fn get_node(&self, id: &String) -> Option<Arc<Node>>
pub fn get_parent_node(&self, id: &String) -> Option<Arc<Node>>
pub fn update_attr( &mut self, id: &String, new_values: GenericHashMap<String, Value, RandomState, ArcK>, ) -> Result<(), Error>
pub fn update_node(&mut self, node: Node) -> Result<(), Error>
pub fn add_at_index( &mut self, parent_id: &String, index: usize, node: &Node, ) -> Result<(), Error>
pub fn add_node( &mut self, parent_id: &String, nodes: &Vec<Node>, ) -> Result<(), Error>
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: &String, ) -> Option<GenericVector<String, ArcK>>
pub fn children_node( &self, parent_id: &String, ) -> Option<GenericVector<Arc<Node>, ArcK>>
pub fn all_children( &self, parent_id: &String, filter: Option<&dyn Fn(&Node) -> bool>, ) -> Option<NodeEnum>
pub fn children_count(&self, parent_id: &String) -> usize
pub fn remove_mark_by_name( &mut self, id: &String, mark_name: &str, ) -> Result<(), Error>
pub fn get_marks(&self, id: &String) -> Option<GenericVector<Mark, ArcK>>
pub fn remove_mark( &mut self, id: &String, mark_types: &[String], ) -> Result<(), Error>
pub fn add_mark(&mut self, id: &String, marks: &Vec<Mark>) -> Result<(), Error>
pub fn move_node( &mut self, source_parent_id: &String, target_parent_id: &String, node_id: &String, position: Option<usize>, ) -> Result<(), Error>
pub fn remove_node( &mut self, parent_id: &String, nodes: Vec<String>, ) -> Result<(), Error>
pub fn remove_node_by_id(&mut self, node_id: &String) -> Result<(), Error>
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 实现自定义的 - 运算符,用于删除单个节点 当使用 - 运算符时,会从当前节点的子节点列表中移除指定的节点
Source§impl<'a> Sub<Vec<String>> for NodeRef<'a>
为 NodeRef 实现自定义的 - 运算符,用于删除多个节点
当使用 - 运算符时,会从当前节点的子节点列表中移除指定的多个节点
impl<'a> Sub<Vec<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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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