logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Tree::Simple::Visitor::PostOrderTraversal - A Visitor for post-order traversal a Tree::Simple hierarchy

Author

       stevan little, <stevan@iinteractive.com>

Code Coverage

       See the CODECOVERAGE section in Tree::Simple::VisitorFactory for more information.

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.

Name

       Tree::Simple::Visitor::PostOrderTraversal - A Visitor for post-order traversal a Tree::Simple hierarchy

Repository

       <https://github.com/ronsavage/Tree-Simple-VisitorFactory>

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.

Support

       Bugs should be reported via the CPAN bug tracker at

       <https://github.com/ronsavage/Tree-Simple-VisitorFactory/issues>

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

See Also