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::PreOrderTraversal - A Visitor for pre-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

       Pre-order traversal is a depth-first traversal method in which the sub-tree's are processed after the
       parent. It is essentially a wrapper around the base Tree::Simple::Visitor class, and is a separate module
       here for completeness. (If you have a post-order, you should have a pre-order too).

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::PreOrderTraversal - A Visitor for pre-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::PreOrderTraversal;

         # create an visitor
         my $visitor = Tree::Simple::Visitor::PreOrderTraversal->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 1.2 2 2.1 3 3.1
         # assuming your tree is like this:
         #   1
         #     1.1
         #       1.1.1
         #     1.2
         #   2
         #     2.1
         #   3
         #     3.1

See Also