GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Forest::Tree(3) User Contributed Perl Documentation Forest::Tree(3)

Forest::Tree - An n-ary tree

  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') . "\n");
  });

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.

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

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).

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.

Stevan Little <stevan.little@iinteractive.com>

Copyright 2008-2014 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.

2013-12-18 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.