[−][src]Struct text_trees::TreeNode
Denotes a node in the tree, and any node can be the root of a tree when output. The generic
parameter T
must implement Display
which is used to generate the label for each node in
the output.
Note that From<T>
is implemented allowing a nice short-cut for node creation, and From<&T>
is also implemented for types that also implement Clone
.
Implementations
impl<T> TreeNode<T> where
T: Display,
[src]
T: Display,
pub fn new(data: T) -> Self
[src]
Construct a new tree node with the provided data value.
pub fn with_children(data: T, children: impl Iterator<Item = T>) -> Self where
T: Sized,
[src]
T: Sized,
Construct a new tree node with the provided data value and an iterator that provides child data items.
pub fn with_child_nodes(
data: T,
children: impl Iterator<Item = TreeNode<T>>
) -> Self where
T: Sized,
[src]
data: T,
children: impl Iterator<Item = TreeNode<T>>
) -> Self where
T: Sized,
Construct a new tree node with the provided data value and an iterator that provides
pre-constructed TreeNode
values as child nodes.
pub fn data(&self) -> &T
[src]
Return a reference to the data item for this node.
pub fn label(&self) -> String
[src]
Return the label for this node.
pub fn has_children(&self) -> bool
[src]
Returns true
if this node has child nodes, else false
.
pub fn children(&self) -> impl Iterator<Item = &TreeNode<T>>
[src]
Returns an iterator that will return all the child nodes.
pub fn push(&mut self, data: T)
[src]
Push a new data item into the list of children.
pub fn push_node(&mut self, child: TreeNode<T>)
[src]
Push a new pre-constructed TreeNode
into the list of children.
pub fn extend<V>(&mut self, children: impl Iterator<Item = T>)
[src]
Extend the list of children with each data item from the provided iterator.
pub fn to_string_with_format(&self, format: &TreeFormatting) -> Result<String>
[src]
Return a string containing the generated tree text formatted according to the provided format settings.
Note: in effect Display::fmt
calls this method with default formatting.
pub fn write(&self, to_writer: &mut impl Write) -> Result<()> where
T: Display,
[src]
T: Display,
Write this tree to the provided implementation of std::io::Write
with default formatting.
pub fn write_with_format(
&self,
to_writer: &mut impl Write,
format: &TreeFormatting
) -> Result<()> where
T: Display,
[src]
&self,
to_writer: &mut impl Write,
format: &TreeFormatting
) -> Result<()> where
T: Display,
Write this tree to the provided implementation of std::io::Write
with the provided
format settings.
Trait Implementations
impl<T: Clone> Clone for TreeNode<T> where
T: Display,
[src]
T: Display,
impl<T: Debug> Debug for TreeNode<T> where
T: Display,
[src]
T: Display,
impl<T> Display for TreeNode<T> where
T: Display,
[src]
T: Display,
impl<T, '_> From<&'_ T> for TreeNode<T> where
T: Display + Clone,
[src]
T: Display + Clone,
impl<'_> From<&'_ str> for TreeNode<String>
[src]
impl<T> From<T> for TreeNode<T> where
T: Display,
[src]
T: Display,
impl<T> PartialEq<TreeNode<T>> for TreeNode<T> where
T: Display + PartialEq,
[src]
T: Display + PartialEq,
Auto Trait Implementations
impl<T> RefUnwindSafe for TreeNode<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for TreeNode<T> where
T: Send,
T: Send,
impl<T> Sync for TreeNode<T> where
T: Sync,
T: Sync,
impl<T> Unpin for TreeNode<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for TreeNode<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<!> for T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,