Struct comrak::arena_tree::Node [−][src]
A node inside a DOM-like tree.
Fields
data: T
The data held by the node.
Implementations
impl<'a, T> Node<'a, T>
[src]
pub fn new(data: T) -> Node<'a, T>
[src]
Create a new node from its associated data.
Typically, this node needs to be moved into an arena allocator before it can be used in a tree.
pub fn parent(&self) -> Option<&'a Node<'a, T>>
[src]
Return a reference to the parent node, unless this node is the root of the tree.
pub fn first_child(&self) -> Option<&'a Node<'a, T>>
[src]
Return a reference to the first child of this node, unless it has no child.
pub fn last_child(&self) -> Option<&'a Node<'a, T>>
[src]
Return a reference to the last child of this node, unless it has no child.
pub fn previous_sibling(&self) -> Option<&'a Node<'a, T>>
[src]
Return a reference to the previous sibling of this node, unless it is a first child.
pub fn next_sibling(&self) -> Option<&'a Node<'a, T>>
[src]
Return a reference to the previous sibling of this node, unless it is a last child.
pub fn same_node(&self, other: &Node<'a, T>) -> bool
[src]
Returns whether two references point to the same node.
pub fn ancestors(&'a self) -> Ancestors<'a, T>ⓘ
[src]
Return an iterator of references to this node and its ancestors.
Call .next().unwrap()
once on the iterator to skip the node itself.
pub fn preceding_siblings(&'a self) -> PrecedingSiblings<'a, T>ⓘNotable traits for PrecedingSiblings<'a, T>
impl<'a, T> Iterator for PrecedingSiblings<'a, T> type Item = &'a Node<'a, T>;
[src]
Notable traits for PrecedingSiblings<'a, T>
impl<'a, T> Iterator for PrecedingSiblings<'a, T> type Item = &'a Node<'a, T>;
Return an iterator of references to this node and the siblings before it.
Call .next().unwrap()
once on the iterator to skip the node itself.
pub fn following_siblings(&'a self) -> FollowingSiblings<'a, T>ⓘNotable traits for FollowingSiblings<'a, T>
impl<'a, T> Iterator for FollowingSiblings<'a, T> type Item = &'a Node<'a, T>;
[src]
Notable traits for FollowingSiblings<'a, T>
impl<'a, T> Iterator for FollowingSiblings<'a, T> type Item = &'a Node<'a, T>;
Return an iterator of references to this node and the siblings after it.
Call .next().unwrap()
once on the iterator to skip the node itself.
pub fn children(&'a self) -> Children<'a, T>ⓘ
[src]
Return an iterator of references to this node’s children.
pub fn reverse_children(&'a self) -> ReverseChildren<'a, T>ⓘNotable traits for ReverseChildren<'a, T>
impl<'a, T> Iterator for ReverseChildren<'a, T> type Item = &'a Node<'a, T>;
[src]
Notable traits for ReverseChildren<'a, T>
impl<'a, T> Iterator for ReverseChildren<'a, T> type Item = &'a Node<'a, T>;
Return an iterator of references to this node’s children, in reverse order.
pub fn descendants(&'a self) -> Descendants<'a, T>ⓘNotable traits for Descendants<'a, T>
impl<'a, T> Iterator for Descendants<'a, T> type Item = &'a Node<'a, T>;
[src]
Notable traits for Descendants<'a, T>
impl<'a, T> Iterator for Descendants<'a, T> type Item = &'a Node<'a, T>;
Return an iterator of references to this node and its descendants, in tree order.
Parent nodes appear before the descendants.
Call .next().unwrap()
once on the iterator to skip the node itself.
pub fn traverse(&'a self) -> Traverse<'a, T>ⓘ
[src]
Return an iterator of references to this node and its descendants, in tree order.
pub fn reverse_traverse(&'a self) -> ReverseTraverse<'a, T>ⓘNotable traits for ReverseTraverse<'a, T>
impl<'a, T> Iterator for ReverseTraverse<'a, T> type Item = NodeEdge<&'a Node<'a, T>>;
[src]
Notable traits for ReverseTraverse<'a, T>
impl<'a, T> Iterator for ReverseTraverse<'a, T> type Item = NodeEdge<&'a Node<'a, T>>;
Return an iterator of references to this node and its descendants, in tree order.
pub fn detach(&self)
[src]
Detach a node from its parent and siblings. Children are not affected.
pub fn append(&'a self, new_child: &'a Node<'a, T>)
[src]
Append a new child to this node, after existing children.
pub fn prepend(&'a self, new_child: &'a Node<'a, T>)
[src]
Prepend a new child to this node, before existing children.
pub fn insert_after(&'a self, new_sibling: &'a Node<'a, T>)
[src]
Insert a new sibling after this node.
pub fn insert_before(&'a self, new_sibling: &'a Node<'a, T>)
[src]
Insert a new sibling before this node.
Trait Implementations
impl<'a, T: 'a> Debug for Node<'a, T> where
T: Debug,
[src]
T: Debug,
A simple Debug implementation that prints the children as a tree, without ilooping through the various interior pointer cycles.
Auto Trait Implementations
impl<'a, T> !RefUnwindSafe for Node<'a, T>
[src]
impl<'a, T> !Send for Node<'a, T>
[src]
impl<'a, T> !Sync for Node<'a, T>
[src]
impl<'a, T> Unpin for Node<'a, T> where
T: Unpin,
[src]
T: Unpin,
impl<'a, T> !UnwindSafe for Node<'a, T>
[src]
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,
pub fn borrow_mut(&mut self) -> &mut 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, 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.
pub 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>,