Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

forest::tree(3pm) [debian man page]

Forest::Tree(3pm)					User Contributed Perl Documentation					 Forest::Tree(3pm)

NAME
Forest::Tree - An n-ary tree SYNOPSIS
use Forest::Tree; my $t = Forest::Tree->new( node => 1, children => [ Forest::Tree->new( node => 1.1, children => [ Forest::Tree->new(node => 1.1.1), Forest::Tree->new(node => 1.1.2), Forest::Tree->new(node => 1.1.3), ] ), Forest::Tree->new(node => 1.2), Forest::Tree->new( node => 1.3, children => [ Forest::Tree->new(node => 1.3.1), Forest::Tree->new(node => 1.3.2), ] ), ] ); $t->traverse(sub { my $t = shift; print((' ' x $t->depth) . ($t->node || 'undef') . " "); }); DESCRIPTION
This module is a basic n-ary tree, it provides most of the functionality of Tree::Simple, whatever is missing will be added eventually. This class inherits from Forest::Tree::Pure>, but all shared methods and attributes are documented in both classes. ATTRIBUTES
node uid parent parent _set_parent has_parent clear_parent children get_child_at ($index) Return the child at this position. (zero-base index) child_count Returns the number of children this tree has size size has_size clear_size height height has_height clear_height METHODS
is_root True if the current tree has no parent is_leaf True if the current tree has no children depth Return the depth of this tree. Root has a depth of -1 add_child ($child) add_children (@children) Add a new child. The $child must be a "Forest::Tree" insert_child_at ($index, $child) Insert a child at this position. (zero-base index) remove_child_at ($index) Remove the child at this position. (zero-base index) traverse (&func) Takes a reference to a subroutine and traverses the tree applying this subroutine to every descendant. siblings Returns an array reference of all siblings (not including us) to_pure_tree Invokes "reconstruct_with_class" with Forest::Tree::Pure. to_mutable_tree Returns the invocant (without cloning). clone See "clone" in Forest::Tree::Pure. This variant will not clone the parent, but return a clone of the subtree that is detached. get_index_in_siblings Returns the index of the tree in the list of children. Equivalent to calling "$tree-"parent->get_child_index($tree)>. Returns -1 if the node has no parent (the root node). BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. AUTHOR
Stevan Little <stevan.little@iinteractive.com> COPYRIGHT AND LICENSE
Copyright 2008-2010 Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-09-27 Forest::Tree(3pm)

Check Out this Related Man Page

Tree::Simple::Visitor::PostOrderTraversal(3pm)		User Contributed Perl Documentation	    Tree::Simple::Visitor::PostOrderTraversal(3pm)

NAME
Tree::Simple::Visitor::PostOrderTraversal - A Visitor for post-order traversal a Tree::Simple hierarchy SYNOPSIS
use Tree::Simple::Visitor::PostOrderTraversal; # create an visitor my $visitor = Tree::Simple::Visitor::PostOrderTraversal->new(); # pass our visitor to the tree $tree->accept($visitor); # print our results print join ", " => $visitor->getResults(); # this will print this: # 1.1.1 1.1 1.2 1 2.1 2 3.1 3 # assuming your tree is like this: # 1 # 1.1 # 1.1.1 # 1.2 # 2 # 2.1 # 3 # 3.1 DESCRIPTION
Post-order traversal is a variation of the depth-first traversal in which the sub-tree's are processed before the parent. It is another alternative to Tree::Simple's "traverse" method which implements a depth-first, pre-order traversal. METHODS
new There are no arguments to the constructor the object will be in its default state. You can use the "setNodeFilter" method to customize its behavior. includeTrunk ($boolean) Based upon the value of $boolean, this will tell the visitor to include the trunk of the tree in the traversal as well. setNodeFilter ($filter_function) This method accepts a CODE reference as its $filter_function argument and throws an exception if it is not a code reference. This code reference is used to filter the tree nodes as they are collected. This can be used to customize output, or to gather specific information from a more complex tree node. The filter function should accept a single argument, which is the current Tree::Simple object. visit ($tree) This is the method that is used by Tree::Simple's "accept" method. It can also be used on its own, it requires the $tree argument to be a Tree::Simple object (or derived from a Tree::Simple object), and will throw and exception otherwise. getResults This method returns the accumulated results of the application of the node filter to the tree. BUGS
None that I am aware of. Of course, if you find a bug, let me know, and I will be sure to fix it. CODE COVERAGE
See the CODE COVERAGE section in Tree::Simple::VisitorFactory for more inforamtion. SEE ALSO
These Visitor classes are all subclasses of Tree::Simple::Visitor, which can be found in the Tree::Simple module, you should refer to that module for more information. AUTHOR
stevan little, <stevan@iinteractive.com> COPYRIGHT AND LICENSE
Copyright 2004, 2005 by Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2005-07-14 Tree::Simple::Visitor::PostOrderTraversal(3pm)
Man Page