Struct gimli::EntriesTree [−][src]
pub struct EntriesTree<'abbrev, 'unit, R> where
R: Reader + 'unit, { /* fields omitted */ }
The state information for a tree view of the Debugging Information Entries.
The EntriesTree
can be used to recursively iterate through the DIE
tree, following the parent/child relationships. The EntriesTree
contains
shared state for all nodes in the tree, avoiding any duplicate parsing of
entries during the traversal.
Example Usage
extern crate gimli; let unit = get_some_unit(); let abbrevs = get_abbrevs_for_unit(&unit); let mut tree = unit.entries_tree(&abbrevs, None)?; let root = tree.root()?; process_tree(root)?; fn process_tree<R>(mut node: gimli::EntriesTreeNode<R>) -> gimli::Result<()> where R: gimli::Reader { { // Examine the entry attributes. let mut attrs = node.entry().attrs(); while let Some(attr) = attrs.next()? { } } let mut children = node.children(); while let Some(child) = children.next()? { // Recursively process a child. process_tree(child); } Ok(()) }
Methods
impl<'abbrev, 'unit, R: Reader> EntriesTree<'abbrev, 'unit, R>
[src]
impl<'abbrev, 'unit, R: Reader> EntriesTree<'abbrev, 'unit, R>
pub fn root<'me>(
&'me mut self
) -> Result<EntriesTreeNode<'abbrev, 'unit, 'me, R>>
[src]
pub fn root<'me>(
&'me mut self
) -> Result<EntriesTreeNode<'abbrev, 'unit, 'me, R>>
Returns the root node of the tree.
Trait Implementations
impl<'abbrev, 'unit, R: Clone> Clone for EntriesTree<'abbrev, 'unit, R> where
R: Reader + 'unit,
R::Offset: Clone,
[src]
impl<'abbrev, 'unit, R: Clone> Clone for EntriesTree<'abbrev, 'unit, R> where
R: Reader + 'unit,
R::Offset: Clone,
fn clone(&self) -> EntriesTree<'abbrev, 'unit, R>
[src]
fn clone(&self) -> EntriesTree<'abbrev, 'unit, R>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0
[src]Performs copy-assignment from source
. Read more
impl<'abbrev, 'unit, R: Debug> Debug for EntriesTree<'abbrev, 'unit, R> where
R: Reader + 'unit,
R::Offset: Debug,
[src]
impl<'abbrev, 'unit, R: Debug> Debug for EntriesTree<'abbrev, 'unit, R> where
R: Reader + 'unit,
R::Offset: Debug,
Auto Trait Implementations
impl<'abbrev, 'unit, R> Send for EntriesTree<'abbrev, 'unit, R> where
R: Send + Sync,
<R as Reader>::Offset: Send + Sync,
impl<'abbrev, 'unit, R> Send for EntriesTree<'abbrev, 'unit, R> where
R: Send + Sync,
<R as Reader>::Offset: Send + Sync,
impl<'abbrev, 'unit, R> !Sync for EntriesTree<'abbrev, 'unit, R>
impl<'abbrev, 'unit, R> !Sync for EntriesTree<'abbrev, 'unit, R>