pub struct Tree {
pub guid: String,
pub name: String,
root_node: Option<TreeNode>,
}
Fields§
§guid: String
§name: String
§root_node: Option<TreeNode>
Implementations§
Source§impl Tree
impl Tree
pub fn new(name: &str) -> Self
pub fn root(&self) -> Option<TreeNode>
pub fn add(&mut self, node: &TreeNode, parent: Option<&TreeNode>)
pub fn nodes(&self) -> Vec<TreeNode>
pub fn remove(&mut self, node: &TreeNode) -> bool
fn find_parent_of_node(&self, node_guid: &String) -> Option<TreeNode>
fn find_parent_recursive( node: &TreeNode, target_guid: &String, ) -> Option<TreeNode>
pub fn leaves(&self) -> Vec<TreeNode>
pub fn traverse(&self, strategy: &str, order: &str) -> Vec<TreeNode>
pub fn get_node_by_name(&self, node_name: &str) -> Option<TreeNode>
pub fn get_nodes_by_name(&self, node_name: &str) -> Vec<TreeNode>
pub fn find_node_by_guid(&self, node_guid: &String) -> Option<TreeNode>
pub fn add_child_by_guid( &mut self, parent_guid: &String, child_guid: &String, ) -> bool
pub fn get_children_guids(&self, node_guid: &String) -> Vec<String>
pub fn get_children(&self, node_guid: &str) -> Vec<String>
pub fn print_hierarchy(&self)
fn print_node(node: &TreeNode, level: usize)
pub fn jsondump(&self) -> Result<String, Box<dyn Error>>
pub fn jsonload(json_data: &str) -> Result<Self, Box<dyn Error>>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Tree
impl<'de> Deserialize<'de> for Tree
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 Freeze for Tree
impl !RefUnwindSafe for Tree
impl !Send for Tree
impl !Sync for Tree
impl Unpin for Tree
impl !UnwindSafe for Tree
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