pub struct TreeNode {
inner: Rc<RefCell<TreeNodeInner>>,
}
Expand description
TreeNode with a clean, simple API
Fields§
§inner: Rc<RefCell<TreeNodeInner>>
Implementations§
Source§impl TreeNode
impl TreeNode
pub fn new(name: &str) -> Self
pub fn name(&self) -> String
pub fn guid(&self) -> String
pub fn add(&self, child: &TreeNode)
pub fn remove(&self, child: &TreeNode) -> bool
pub fn parent(&self) -> Option<TreeNode>
pub fn children(&self) -> Vec<TreeNode>
pub fn is_root(&self) -> bool
pub fn is_leaf(&self) -> bool
pub fn ancestors(&self) -> Vec<TreeNode>
pub fn descendants(&self) -> Vec<TreeNode>
pub fn nodes(&self) -> Vec<TreeNode>
pub fn root(&self) -> TreeNode
pub fn traverse(&self, strategy: &str, order: &str) -> Vec<TreeNode>
fn depth_first_traverse(&self, order: &str) -> Vec<TreeNode>
fn preorder_traverse(&self) -> Vec<TreeNode>
fn postorder_traverse(&self) -> Vec<TreeNode>
fn breadth_first_traverse(&self) -> Vec<TreeNode>
pub fn jsondump(&self) -> Result<String, Box<dyn Error>>
pub fn jsonload(json_data: &str) -> Result<Self, Box<dyn Error>>
pub(crate) fn to_serde(&self) -> TreeNodeSerde
pub(crate) fn from_serde(serde_node: TreeNodeSerde) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TreeNode
impl<'de> Deserialize<'de> for TreeNode
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 TreeNode
impl !RefUnwindSafe for TreeNode
impl !Send for TreeNode
impl !Sync for TreeNode
impl Unpin for TreeNode
impl !UnwindSafe for TreeNode
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